在我的情况下,我的公司为许多类型的客户提供服务。几乎每个客户都需要自己的业务逻辑。当然,将有一个所有业务逻辑都应该继承的基础层。但是,我会反复设计这个 - 无论是在所有客户的一个dll还是每个客户的一个dll。
我最大的争论点是升级软件。我们有大约12名数据录入人员与20家公司合作,他们的停机时间很少是至关重要的。我担心的是,如果我在一个dll中部署所有内容,我可能会在公司A的逻辑中引入一个错误,而只是想更新公司B的逻辑。我相信如果每个公司的逻辑都有自己的dll,我可以降低风险,那么,我可以部署公司B的更新,而不会伤害公司A. - 我将是唯一支持这一点的人。
也就是说,管理20种不同的.dll似乎也是一场噩梦 - 仅仅是BLL。我还需要创建一个View层和ViewModel层。所以,我可能有20个(公司)* 3(层),相当于60个.dll。
谢谢。
答案 0 :(得分:0)
如果“客户第一”,那么您必须降低一个客户代码中的错误影响另一个客户的可能性。因此更多的DLL。但是,您可以考虑节省一些头痛:是否真的需要将业务逻辑,视图层和视图模型层分离到不同的程序集中?当然,您希望将不同的代码层分开进行维护,但是有充分的理由将逻辑文件分离转换为物理程序集/ DLL分离吗?