<分区>
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,
visit the help center 指导。
关闭 11 年前 。
基本上,我们都是这里的编码员。我要问你的是,你如何构建你的解决方案/项目以粗略地反射(reflect)你开发的结构 。
你将如何在代码 中描述 一个类与另一个类的依赖关系,你将如何以一种方式构建你的解决方案,以便几年后新加入你的项目的人能够了解(或多或少)解决方案中的代码依赖关系?
给出第一个答案,只是为了再次提示我真正 在问什么:
我们可以在开发中使用常用的工具/框架:NHibernate、ASP.NET MVS、WPF...这将引导我们以多种方式构建代码,所以熟悉该工具的人只要看一眼就会明白比方说 VisualStudio 的项目,您的项目的基本结构。
P.S:我知道 Diagram 工具、Visio 或其他工具,我的问题是:您是否从编码角度 考虑过这个问题?
为了补充@Joakim 在上面的评论中的观点,实现这一点的一个关键方法确实以抽象为中心。我在所有 .NET 项目中努力做的一件事是将外部依赖项限制在 Visual Studio 中它们自己的项目中。这些项目注入(inject)了 IoC 容器(也通过服务定位器设置进行了抽象)以实现抽象的接口(interface)。
所以中心域逻辑只是内部代码。没有依赖性。基本上,该项目不引用任何内容,所有内容都引用它。它只是业务逻辑(模型、数据存储库等依赖项的接口(interface)等)。
然后外部依赖项(可以是通过数据访问框架的数据库,某种外部服务,或者甚至只是第 3 方库,如 IoC 容器)将在其自己的项目中使用并实现它需要实现的域接口(interface)。这使依赖关系保持清晰和分离,因此可以轻松识别并可能替换它们,而无需触及内部业务逻辑。