使用广泛的MVC架构(c#)在非web应用程序中控制程序流
本文关键字:应用程序 web 在非 控制 程序 MVC 架构 | 更新日期: 2023-09-27 18:18:15
我有一个控制台应用程序,其中心过程是从DB表中获取下一行,并基于字段值,运行所有返回相同类型0对象的几个代码位之一。我可以有一个switch或if语句类型安排,它做的事情类似于(伪代码):
if exhibitType == "Summary" then AddSummaryExhibit
elseif exhibitType == "Timeline" then AddTimelineExhibit
…等。就像MVC网站中的路由设置一样。这个程序确实遵循一个近似的MVC类型结构,每个方法从模型中获取数据,基于。cshtml剃刀视图呈现HTML,并将其附加到属于HTML文档容器的"部分"集合中。
理想情况下,只需添加一个名为x的新方法到我的项目中,然后允许x作为db表中的新值添加,而无需手动维护一组条件,这将是很好的。我在想也许代表之类的东西可以适用于这里,但这只是一个想法。如果有任何关于最佳实践的建议,我将不胜感激。
谢谢
我相信你正在寻找的已经在这里讨论长开关语句的线程中得到了回答:如何避免长开关…需要帮助重构
实际上,您正在寻找一个四组模式。我想到的模式是战略模式、状态模式和责任链模式。
考虑这些模式如何满足您的需求是相当具有挑战性的,但是通过识别模块化的需求,这是朝着一个好的方向迈出的一大步,并且您不会从switch语句中获得它。