我们正在开发一种可以销往多个州的产品。
数据库模型将保持不变,但业务规则可以针对实体进行更改。
对于e.x: - 要提供税务服务,佐治亚州可能会要求您拥有注册会计师,其他州可能会将其标记为可选。
我们如何设计这样一个系统,在那里我们可以插入给定状态的任何自定义业务逻辑。
这里有什么样的设计模式?
用户
答案 0 :(得分:1)
因为所有州的功能都相同。 那么这是一个配置问题。 您可以拥有所有状态或不同状态的查找表,具体取决于所有状态之间的规则差异。 然后根据这些配置,您可以进行计算,如果这只是您的担忧。
如果状态之间的功能不同,则必须以OOP方式处理此问题。
答案 1 :(得分:1)
我会考虑使用IoC(Inversion of Control)框架来加载正确的类,为每个州实现所需的业务逻辑。
优秀的.NET IoC库是Autofac http://autofac.org/。您应该考虑使用Autofac模块,它允许您为系统中的每个状态创建一个模块,这可以在配置文件中设置。