Clean Architecture 解读

概要

1. Clean Architecture
2. 项目实战

Clean Architecture

架构是什么

这里引用Uncle Bob的定义:

软件架构是指,设计软件的人为软件赋予的形状,这个形状是指系统如何被划分为组件(Components),各个组件如何排列(Arrangement),组件之间如何沟通(Communication)。

个人认为,一个工程由多个项目组成,项目中之间存在依赖关系。软件的架构即工程中所有关系的集合。

Clean Architecture是什么

一种架构思想:

1.区别于传统架构自下而上的垂直结构,Clean Architecture是洋葱型的结构,只存在一个核心层,依赖关系单向流动。

2.区别于传统架构核心层依赖于数据层、设施层,Clean Architecture反转了依赖关系,数据层、设施层依赖于核心层。

所以(包含于引用层的)数据层应优先编写,构建数据获取代码,其次编写核心层业务类型,数据操作逻辑。由此核心层不受数据获取的限制,使数据库来源类型等维护成本更小。

see the-main-principles-of-clean-architecture