基本上,我们都在这里打算。我要问你的是,你是如何构建解决方案/项目的,即使粗略地反映你所开发的结构。 如何在代码中描述一个类与另一个类的依赖关系,您将如何构建您的解决方案,以便在几年之后,您的项目的新手能够理解(或多或少)解决方案中的代码依赖性?
给出第一个答案,只是为了给出另一个暗示我真正询问的内容:
我们可以在开发中使用常见的工具/框架:NHibernate,ASP.NET MVS,WPF ......这将引导我们以多种方式构建代码,因此熟悉该工具的人将会理解我们的项目是VisualStudio,您的项目是如何基本构建的。
P.S:我知道图工具,Visio或其他什么,我的问题是:你有没有想过编码预期?
答案 0 :(得分:2)
要在上面的评论中添加@Joakim的观点,实现这一目标的关键方法确实围绕着抽象。我在所有.NET项目中努力做的一件事是将外部依赖项限制在Visual Studio中自己的项目中。这些项目注入了一个IoC容器(也用服务定位器设置抽象)来实现抽象接口。
所以中央域逻辑只是内部代码。没有依赖。基本上,该项目没有引用任何东西,一切都引用它。它只是业务逻辑(模型,依赖项的接口,如数据存储库等)。
然后,外部依赖(可以通过数据访问框架,某种外部服务,甚至只是第三方库,如IoC容器,可以是数据库)将在其自己的项目中使用并实现它需要实现的域接口。这使得依赖关系变得清晰和分离,因此可以轻松识别和替换它们,而无需触及内部业务逻辑。