通用和实用程序库合并

时间:2009-12-10 23:18:17

标签: c# architecture shared-libraries class-library

在我开始之前,类似的问题但不完全相同:
Working with Common/Utility Libraries
What to include in a Utility Library

我最近开始使用我们公司的内部C#库,其中包括Common.dll和Utilities.dll;很标准的东西。

我目前的计划是将这两个库细化为两个非常独立的实体,它们具有非常独立的用法。但是,我还没弄清楚在哪里划线。

我不希望详细说明每个内容包含的内容,而是希望就每个内容提出中立建议,以及如何定义这个障碍。我不需要uberspecifics。

还有一个论点是这两个应该合并到一个库中。 (见上面的链接)如果没有合适的选择,我对这个想法持开放态度。我对这两者之间的区别更感兴趣。

提前致谢!

1 个答案:

答案 0 :(得分:4)

你说话就像“共同”和“效用”一样有很好的理解。我不承认应该存在这样的分离,或者如果某些可重用代码组织应该有两个这样的类别。

首先,我要区分一些倾向于在生产应用程序中重用的代码和一组可能只用于测试的代码。

然后关注生产应用程序我希望有Business Domain公共代码(例如处理外汇交易的代码,或者租车里程费率,或者您的业务恰好是什么。)和更多通用公用事业作为日志记录,或字符串格式,或一些聪明的数学)。我想你会找到以某种方式“属于一起”的代码片段和一些你想要分开的代码片段。一些可能的标准:

  • 变化率:当变化时,这可能也会发生变化,因此我们需要将它们一起发布
  • 开销 - 这个块很大,只有需要的应用才能支付包含或部署它的价格。
  • 范围 - 这是UI代码,即数据库代码,单独保存
  • 依赖 - 如果你使用它,那么你也使用它,所以保持其他分开,他不需要那个
  • 避免循环依赖,分解和记录以避免那些