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

问题描述 投票:0回答:2

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

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

现在,它们位于单独的程序集中的主要原因之一是,它们在内部使用彼此非常分开:数据类型在内部广泛使用 - 然而,操作类只是应用程序的公共面孔,并且根本不在内部使用。

到目前为止,一切都很好,一切都有意义......
然后我开始插入 API,并意识到 - 调用应用程序需要引用两个程序集,而不仅仅是一个程序集,才能使用 API。

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

  1. 留下两个独立的程序集,因为它们的内部逻辑要求 - 并迫使我们的客户执行额外的、不需要的和不漂亮的额外步骤。
  2. 混合两个程序集的使用,并仅构建一个程序集。这意味着内部类需要引用外部 API...而这可能会导致循环引用...
  3. 其他一些出色的解决方案(这确实是我所希望的答案?)

Reeeheely 希望在 3 领域有新的东西......

.net assemblies
2个回答
1
投票

您不能构建包含要使用的 API 的第三个程序集吗?这将引用 2 个工作程序集并为第 3 方提供单一入口点?

更新:

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

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


© www.soinside.com 2019 - 2024. All rights reserved.