背景
最近尝试录制了一个系列视频:《ASP.NET Core 6.0+Vue.js 3实战开发》,本节是视频内部整洁架构的理论和实战的文字稿。因为在录制之前,我通常会编写完整的文字内容作为视频文案,这里分享给大家,希望对你有所帮助。如果您能捧个人场,订阅我的视频,感激不尽。
虽然是收费的视频,但是我的分享不会止步,再次感谢您的阅读。
视频地址
点击跳转链接
文章主题
本章将介绍基于ASP.NET Core的整洁架构的设计理念,同时基于理论落地的代码模型,包括文件夹、文件、项目的组织形式以及项目的依赖关系,为企业级可扩展的架构奠定基础。
本章学习主题包括:
3.1整洁架构介绍
很多公司系统多样,每个系统的分层结构各不相同,这给开发和未来的运维带来了巨大的成本,分层架构看似很简单,但保证整个研发中心都使用统一的分层架构就不容易了。
那么如何保证整个研发中心都使用统一的分层架构,以达到提高编写代码效率、保证工程统一性的目的?
我们推荐行业内目前比较流行的整洁架构。
整洁架构是什么?简而言之,它是组织软件体系结构的原则,可以轻松面对未来的不确定性,方便代码的重构。同时,它可以帮助我们为特定的领域模型构建服务,从而为将来可能的微服务体系结构做好准备。
我们看下整洁架构的洋葱示意图:
在整洁架构中,领域层(Domain)和应用层(Application)是架构的核心层。领域层包含实体、枚举和常量设置等,应用层则包含数据传输对象(DTO)、接口、映射、异常、行为和业务逻辑。
整洁架构和传统三层架构的不同之处在于依赖的不同,因为企业的核心逻辑是可以跨系统共享的,而应用逻辑或业务逻辑是特定的。所以为了复用,现在,我们不再让核心层依赖数据访问和基础设施,而是颠倒这些依赖关系。如上图所示,表示层和基础设施层现在是依赖于我们的核心层,但核心层对任何一层都没有依赖性。
这种架构必须通过在应用层内添加抽象或接口来实现,这些抽象或接口是在应用层之外的其他层实现的。例如,如果我们想要实现