无论是以何种方式来进行设计,小型项目也能和大型项目一样从精心的设计之中获益,而如果能认识到设计是一项明确的活动,你就更会获益匪浅。
设计过程充满了不确定性,因此设计技术也趋于探索性质
软件的首要技术使命:管理复杂度
设计特征:
最小复杂度
易于维护
松散耦合
可扩展性
可重用性
高扇入:大量的类使用某个给定的类
低扇出:一个类里少量/适量地使用其他的类
可移植性
精简性
层次性
标准技术:尽量少依赖外来的,尽量使用标准的、常用的
系统层设计图应该是无环图
抽象是一种能让你在关注某一概念的同时可以放心地忽略其中一些细节的能力——在不同的层次处理不同的细节。抽象的主要好处就在于它使得你能忽略无关的细节,抽象是我们用来得以处理现实世界中复杂度的一种重要手段
在设计一个类的时候,一项关键性的决策就是确定类的哪些特性应该对外可见,而哪些特性应该隐藏起来 (面向对象设计的原则)
标签:复杂度,笔记,忽略,细节,抽象,阅读,设计
From: https://www.cnblogs.com/lmyy/p/17261359.html