c# - 共享程序集

标签 c#

A 有一个设计问题。我写了几个 c# 应用程序。大多数这些应用程序都有自己的 sql 或 access 数据库,但它们也共享一个公共(public)数据库,但它们是完全不同的应用程序,在自己的业务领域中有自己的职责。

与我交谈过的一些人相信以下观点:应用程序应该是孤岛。他们不应该分享任何东西。不共享程序集、组件或数据库。

我需要这方面的建议。什么时候可以分享,或者从来都不是一个好主意。

谢谢

最佳答案

某处有一条线......积极鼓励共享库代码 - 但当应用程序相互消费时,您需要一点小心,只是为了防止意大利面条代码和循环引用.

如果您提到的代码确实是库代码(即两个项目都不是此数据的“主”),那么它应该没问题(版本控制问题除外)。如果项目 A 想要项目 B 的数据,那么项目 B 通常很快就会想要项目 A 的数据,并且您有一个蜘蛛网。在这种情况下,最好使用 SOA 方法;让项目通过 WCF 服务之类的方式公开其数据,以便其他项目仅调用公共(public) mex/wsdl API(最好不共享程序集)。

但这是一个看似复杂的问题,我认为没有任何一个答案可以满足所有情况。

关于c# - 共享程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/221323/

相关文章:

c# - 以编程方式创建 Excel 2007 工作表

c# - 获取前导 1 的位数

c# - 如何使用 PdfiumViewer 将 PDF 转换为位图图像?

c# - 将 await 与 Task.Run 一起使用,但 UI 仍会挂起几秒钟?

c# - 仅当超过一定大小时才从字符串中删除空格

c# - 正则表达式.替换 : replace only first one found

c# - Nullable<> 类型是 BCL、CLR 还是两者的实现?

c# - 如何使用类作为属性

C# 解决方案 - 有多少个项目?

c# - 如何创建和设置多态属性?