我应该采用什么样的设计

时间:2016-01-17 06:45:36

标签: c# design-patterns

我们正在开发一种可以销往多个州的产品。

数据库模型将保持不变,但业务规则可以针对实体进行更改。

对于e.x: - 要提供税务服务,佐治亚州可能会要求您拥有注册会计师,其他州可能会将其标记为可选。

我们如何设计这样一个系统,在那里我们可以插入给定状态的任何自定义业务逻辑。

这里有什么样的设计模式?

用户

2 个答案:

答案 0 :(得分:1)

因为所有州的功能都相同。 那么这是一个配置问题。 您可以拥有所有状态或不同状态的查找表,具体取决于所有状态之间的规则差异。 然后根据这些配置,您可以进行计算,如果这只是您的担忧。

如果状态之间的功能不同,则必须以OOP方式处理此问题。

答案 1 :(得分:1)

我会考虑使用IoC(Inversion of Control)框架来加载正确的类,为每个州实现所需的业务逻辑。

优秀的.NET IoC库是Autofac http://autofac.org/。您应该考虑使用Autofac模块,它允许您为系统中的每个状态创建一个模块,这可以在配置文件中设置。