我对解决方案中项目之间的引用有疑问.我之前的大多数应用程序在解决方案中只有一个或两个项目,但这次我想进一步划分应用程序.
我现在正在Visual Studio 2008中启动一个新的解决方案,并创建了几个基础项目来划分我的应用程序的各个部分.
但是目前我只是随心所欲地创建不同的项目,并在需要时在它们之间创建引用.有时我最终会遇到两个项目需要互相引用的情况,但这是不允许的,因为它会导致循环依赖.
在创建不同的项目并将它们链接在一起时,是否应该记住任何规则/提示/模式?
我应该从内部开始,然后出去吗?让"核心"项目参与所有外部项目,或者从外部和独立项目都引用"核心"的地方?或者我在两个项目中开展业务的第三个选项,他们都引用了第三个项目?
事实上,你不能有循环引用,但说实话,如果你们之间的相互依赖关系,那么将解决方案拆分成小项目的好处是什么?
通常在我打开Visual Studio之前,我会拿一张纸将问题分解为逻辑功能区域.您可以在顶部绘制Utilities程序集,在底部绘制所有GUI,Web服务和其他最终项目.Utilities项目不会引用任何其他项目,并且底部的项目不会被任何引用.然后你会想到这些功能的共同点,例如,所有GUI都可以与普通的用户控件和对话共享一个通用的UI项目,这个UI项目将引用"对象模型"项目等.底部的项目只能参考什么在他们之上.
通常,当您看起来需要循环引用时,您可以通过在较低级别程序集中定义接口并在上层提供实现来很好地绕过它.
不知道你究竟在做什么,我担心这是我能给你的唯一建议.