将多个程序集公开为单个API

时间:2010-01-12 01:11:30

标签: .net api assemblies

在我开始构建我的解决方案之前,没有真正考虑过这个方面......

为简化起见,我的应用程序公开了一个供其他应用程序使用的API。 API在概念上由两部分组成:“Action”类和数据类型对象。每个都在自己的项目中 (我现在不是在问类课程设计,这是一个完全独立的问题 - 这有很好的理由。)

现在,这些在单独程序集中的主要原因之一是内部它们彼此非常分离:数据类型在内部广泛使用 - 但是,操作类只是应用程序的公共面,根本不在内部使用。

到目前为止,一切都很好,这一切都有道理...... 然后我开始插入API,并实现 - 调用应用程序需要引用 TWO 程序集,而不仅仅是一个,以便使用API​​。

那么这里最好的举动是什么?

  1. 留下两个独立的组件,作为其内部逻辑要求 - 并迫使我们的客户执行一个额外的,不必要的和不恰当的额外步骤。
  2. 在两个组件的使用之间混合,并且仅构建一个组件。这意味着内部类需要引用外部API ...而可能导致循环引用......
  3. 其他一些出色的解决方案(这是我真正希望的答案吗?)
  4. Reeeheely希望3区域内有新的东西......谢谢。

2 个答案:

答案 0 :(得分:1)

您是否可以构建包含要使用的API的第3个程序集?这将参考2个工作组件并为第三方提供单一入口点?

<强>更新

基于评论中的对话并思考这一点,我完全赞同Avid正在尝试做的事情,它确实使得单个dll更清晰,但只要它记录并且有效,它就不那么重要了。一旦引用它引用它。开发人员很快就会想到这一点。我当然不会尝试添加额外的构建步骤来合并以解决这个问题。 (这只是我的观点)

要回答这个问题,我会选择原帖中的第1号选项。

答案 1 :(得分:0)