世间万物均有生灭.随着时间的推移,事物主体从生到灭的状态变化组成了生命周期.
为了效率,将生命周期中的非核心生命周期拆分出去,其占用的时间用于提升核心生命周期.
由此产生了分工,也同时产生了架构.
架构其实就是指不同主体生命周期的拆分和组织方式.
架构包含业务架构,人员组织架构,软件架构,其核心都围绕利益.
而架构师就是要识别主体的核心生命周期,通过合理的拆分和组织,保证业务可以不断增长.
书中阐述了何为概念,即对某一事物的作用和所解决问题的个性描述
书中还以软件架构为例,从软件生命周期,拆分为研发生命周期和运行生命周期.
研发生命周期中包含如何组织代码以及各代码的含义:
service(服务) -> manager(粘合代码)
manager(粘合代码) -> domain(领域对象&业务逻辑)
manager(粘合代码) -> repository(存储)
service负责访问通道,把请求数据转换成manager需要的数据结构,或者把manager返回的领域对象,转换成用户需要的数据结构进行返回.
manager粘合领域逻辑的调用以及对象状态的加载和存储调用.
domain负责处理业务逻辑
repository负责处理存储和加载
单元测试主要针对domain.
书中最后以交易系统为例,详细定义了交易系统中的若干概念及其对应的现实世界所模拟的问题,包含:
交易:人与人之间进行的等价交换过程,从开始的以物易物,到后来的以信用易物.
产品:包含两大类,制造类产品和服务类产品,一个提供实物一个提供通道.产品强调生产属性,而商品强调交易属性.不同商品可能对应同一类产品,如:一瓶矿泉水和一箱矿泉水是两个商品,却是同一类产品,即矿泉水.商品的单位是sku,即最小库存单元,或叫交易单元.
用户:产品的使用者.与客户的区别主要在于,售前的主要角色为客户,而售后才成为产品的用户,如果交易不成立,则客户不会成为用户.
订单:为记录交易过程中的活动状态而产生.
交易系统的架构拆分过程是围绕交易核心生命周期,而把产品,用户,支付等非核心生命周期进行拆分,形成了一个树状架构.
最后,书中阐述了作者如何理解业务的事务与数据库的事务.
但我还是没明白如何通过业务事务模型解决转账数据库事务的问题,这里作为一个疑问点.
全书整体的逻辑主线就是主体生命周期.生命周期拆分过程即架构过程.
阐述了架构的过程,原则,以及架构与各个概念之前的关系.
对我而言的收获在于,对于许多概念的认知得到强化.
但阅读过程中还是有些云里雾里的感觉,不理解作者想要解决读者的什么问题.
可能作者只是想传达一种思想或思维模式,而我还没有完全透彻的理解.