设计就是一系列的规则。
一系列的规则是分层次的,由架构到代码。
上层的设计要为下层的设计提供抉择的原则。
每一层都可以制定自己的规则。
这个规则是越来越细的。
设计就是一系列的选择。
选择总有利弊。
选大的利,每一层的规则都应该为大利的选择,做设计,做规则,平衡小利的矛盾(也就是说为下一层的抉择提供依据)。
一般性能总是我们最求的最高目标,但是绝对的性能往往要为设计做适当的让步。
当然如果遵从设计会破坏很大的性能。
那么允许出现适当的特例。
也就是说,规则也不是绝对的,适当的打破规则会有利于架构的完美。
但不能过多,过多就乱了。
设计就是对共性和个性的合理分割。
设计是什么,就是把需求变成类。
怎么变成类呢,就是就需求的共性和个性做合理的分割。
静的是共性,变的是个性。
保证,共性的稳定,也保证个性的灵活,这就是设计。
设计就是一系列的数据和关系。
数据和关系就形成了结构。
结构和关系的结构就可以模拟出大千世界。
世界,无非是数据和关系。
合理关系设计,是后续设计的基础,是设计中的重中之重。
设计的突破往往是发现新的规律,新的关系。
但你的设计不清晰的时候,那么想一想,你是否应该发现些新的规律。
甚者是创造出新的规律或关系。
就想我们时刻问题用的假设 思维。
这时候往往会有非常精巧的设计被你发现。
思考,如果设计不够简洁和清晰,那一定是有些规律和关系在等待你的发现。
设计应该是简洁的。
丰富的机能永远是等于简洁+简洁再加简洁。
如果哪一个环节复杂了,那么一定不是好的设计。
设计就是不断把复杂变成简洁的过程,或大或小。
每一层,都应该很简洁。