设计       

设计

设计是处理复杂度(可扩展、高可用、高性能)

设计是为了让软件在长期更容易适应变化。

为什么软件设计是一门关注长期的学问,因为只有长期的积累,需求才会累积,规模问题才会凸显出来。软件设计,实际上就是应对需求的“算法”

image-20210617212744760

软件设计就是要构建出一套模型,

模型我认识是用多个视图表示一个事物

4+1视图等等

软件设计第一步:分解

程序设计要从问题域出发,用问题域分析出的模型来指导程序设计。

面向对象分析,强调的是在问题域发现并描述概念,解决的问题是做正确的事情。面向对象设计,强调的是定义软件对象,解决的问题是正确的做事情

领域模型的子领域划分是很好的模块划分方式,领域划分可以直接应用于架构的模块职责划分上。

参考

https://time.geekbang.org/column/article/240177