代码之家  ›  专栏  ›  技术社区  ›  user134363

对于业务逻辑,我应该有一个还是多个dll?

  •  0
  • user134363  · 技术社区  · 16 年前

    在我的情况下,我的公司为许多类型的客户提供服务。几乎每个客户都需要自己的业务逻辑。当然,将有一个所有业务逻辑都应该继承的基础层。但是,我会反复地设计这个——要么在一个dll中为所有客户,要么为每个客户创建一个dll。

    我最大的争论点是升级软件。我们约有12名数据录入人员与20家公司合作,他们几乎没有停机时间,这一点至关重要。我担心的是,如果我在一个dll中部署所有东西,我可能会在a公司的逻辑中引入一个bug,而只打算更新B公司的逻辑。我相信如果每个公司的逻辑都有自己的dll,我可以降低风险,所以,我可以部署B公司的更新,而不伤害A公司的更新。——我将是唯一支持这一点的人。

    这就是说,管理20个不同的.dll看起来也像是一场噩梦——仅对BLL而言。我还需要创建一个视图层和ViewModel层。所以,我可能有20个(公司)*3个(层),相当于60.dll。

    谢谢您。

    1 回复  |  直到 16 年前
        1
  •  0
  •   sfuqua    16 年前

    如果“客户至上”,那么您必须降低一个客户的代码中的错误影响另一个客户的可能性。因此需要更多DLL。但是,您可以省去一些麻烦:是否真的需要将业务逻辑、视图层和viewmodel层分离到不同的程序集中?当然,您希望将代码分成不同的层以进行维护,但是否有理由将逻辑文件分离转换为物理程序集/DLL分离?