-
软件的首要技术使命:管理复杂度
引入了本质的属性和偶然的属性两个概念用在软件上,尽量做到1、把任何人同一时间需要处理的本质复杂度的量减到最小;2、不要让偶然性的复杂度无所谓的快速增长。
-
管理复杂度的重要性
应该试着以某种方式去组织程序,以便能够在一个时刻可以专注于一个特定的部份,这么做的目的是尽量减少在任一时间所要考虑的程序量。
1、在软件架构层次上,可以通过把整个系统分解为多个子系统来降低问题的复杂度
2、保持子程序短小精悍也能帮助你减少思考负担。
-
理想的设计特征
-
最小的复杂度
-
易于维护
-
松散耦合
-
可重用性
-
高扇入
-
低扇出
-
可移值性
-
精减性
-
层次性
-
标准性