为未来而编码

本文关键字:编码 未来 | 更新日期: 2023-09-27 18:02:22

基本上我们都是程序员。我要问你的是,你是如何构建你的解决方案/项目来反映你所开发的结构的,即使是粗略的方式。在代码中,你将如何描述一个类与另一个类的依赖关系?你将如何构建你的解决方案,使几年后项目的新成员能够(或多或少)理解你的解决方案中的代码依赖关系?

给出第一个答案,只是给另一个提示,我真正问的是什么:

我们可以在我们的开发中使用常见的工具/框架:NHibernate, ASP。净mv, wpf…它将引导我们以几种方式构建代码,所以熟悉那个工具的人只要看一下项目,比如VisualStudio,就会明白你的项目是如何基本构建的。

p。S:我知道图表工具,Visio或其他什么,我的问题是:你有没有从编码的角度考虑过这个问题?

为未来而编码

在上面的评论中添加@Joakim的观点,做到这一点的关键方法确实围绕抽象。在我所有的。net项目中,我努力做的一件事是将外部依赖限制在Visual Studio中它们自己的项目中。这些项目被注入IoC容器(也通过服务定位器设置进行抽象),以实现抽象的接口。

所以中心域逻辑只是内部代码。没有依赖关系。基本上,那个项目没有引用任何东西,所有东西都引用它。它只是业务逻辑(模型、依赖关系的接口,比如数据存储库,等等)。

然后外部依赖项(可以是通过数据访问框架实现的数据库,某种类型的外部服务,甚至只是第三方库,如IoC容器)将在其自己的项目中使用,并实现它需要实现的域接口。这样可以保持依赖关系的清晰和分离,因此可以很容易地识别和替换它们,而无需触及内部业务逻辑。