【发布时间】:2018-10-15 11:09:50
【问题描述】:
我们正在开发 HR ERP。我们有“离开”模块。
其中一个基本功能是请假或请假申请提交。我们有一个使用近 1000 行代码验证请假申请提交的方法。很多if, else and dynamic data conditions 都出现在这种方法上。需要注意的是,这种方法来自遗留系统。
我打算用Strategy pattern来分离业务条件,并将这个1000行的方法重构为多个小块的方法。
我请一些专家就哪种设计模式更适合这种情况提出建议。
我们正在使用带有 C# 的 Asp.Net Core 2.0 MVC(.Net Framework 依赖版本。)。
【问题讨论】:
-
如果不先检查代码,专家很难发表评论。我不是建议您发布 1000 行,但也许在您分析代码之后,您可能会展示您打算如何部署策略。那么你就有更好的机会得到一个好的回复。
-
您的帖子中几乎没有足够的数据来选择任何设计模式。
lot's of if, else and dynamic data conditions不会以任何方式转换为singleton, strategy, and abstract factory。 -
似乎您在策略模式上走在正确的轨道上,但模板模式也可以发挥作用。发布更多信息 ifs 和其他条件语句是关于什么的。
-
感谢大家的宝贵cmets。老实说,没有代码很难提出最佳解决方案。最初,我计划使用策略模式重构代码。我可能会尝试发布一些代码片段示例以进一步改进。再次感谢。
标签: c# asp.net design-patterns