reference - 从表示层引用业务对象的最佳方式..?

标签 reference business-objects presentation-layer

我想开发一个企业应用程序,其中包括一个 WindowsForms 表示层、用于业务逻辑和数据访问的中间层组件以及一个 MsSQL Server 数据库。中间层组件应包含一些业务对象,并将使用 .NET Remoting 从表示层调用。 Whitch 是从表示层引用这些业务对象的最佳方式(以及为什么)?

  • A) 创建类库项目,实现业务对象。从表示层和中间层引用这个项目。
  • B) 创建定义业务对象的接口(interface)库项目。创建实现接口(interface)的类库项目。从中间层引用类库项目。从表示层引用接口(interface)库项目。
  • C) 为中间层和表示层创建单独的类库项目。从表示层引用相应的项目。

最佳答案

这个问题可能没有明确的答案,这取决于你在做什么。

  • A 在很多情况下通常就足够了。对于小型“单一应用程序”项目,没有任何理由不能直接从 UI 和 BL 层引用业务对象库。它当然是最简单的,有时简单是最好的。

  • B 可能是“最好的”,您将抽象出您的实际实现,以便将来可以在不违反契约(Contract)的情况下进行更改,并且如果您有接口(interface),则单元测试会更容易。这样做的另一个好处是,如果您觉得有必要,将来从 B 切换到 C 时不会觉得太困难。

  • C 在大多数情况下可能有点矫枉过正。也就是说,在较大的项目中,您可能会发现有必要。我曾开发过具有多达三个独立数据对象集的大型客户端-服务器 n 层应用程序。一组用于DA层映射并存储在数据库中。第二组位于业务逻辑和网络层,用于处理和通过网络传递,第三组位于客户端,用于绑定(bind)到 UI。由于抽象优势,也值得考虑为 C 使用接口(interface)。

总而言之,在不确切了解您的应用领域或范围的情况下 - B 是一个很好的起点。

关于reference - 从表示层引用业务对象的最佳方式..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548057/

相关文章:

java - 多设备演示技术

java - 除了 JSF/JSP for Java EE 之外,还有其他强集成的表示层工具吗?

python - 从 numpy 中的函数返回对子矩阵的引用

Java 引用资料。 Java 是否对字符串文字进行特殊检查?

c++ - 参数既是指针又是引用?

visual-studio-2010 - MVC3 - SSRS 报告 (rdlc) 和业务对象数据源

.net - 适用于 C# 和 .net 的业务对象框架

C# CSLA 业务对象困境 : read-only vs read/write

javascript - 为什么重新分配后不再反射(reflect)对象的更改?

database-design - 用于在网页上存储 URL 的数据库表设计的最佳实践