前言
一讨论系统重构,很多人不明所以的就开始画各种架构图,写各种高可用,高并发设计方案,其实不知道很多系统的腐朽是从代码失控开始的,所以重构系统之前,架构师需要深谙面向对象设计之道。
KISS原则
意思是保持设计的简单。
当然简单这个词也是因人而异的,不同知识储备,不同能力的人,对于简单的理解也很不一样,这也是为什么有的是优秀的设计,有的时候是糟糕的设计了。
好的系统重构需要对于整个业务的生命周期,进行了解和梳理,进行合理的树状拆解。需要对业务对系统进行拆分。
只有拆的足够清晰易于理解,才能更好的组装系统。
SOLID原则
意思是单一职能。
这是很多项目失控的源头,很多人很难把控这个单一的度,过细过粗都会引起未来系统的腐化。
微内核的解释是,在一个游戏场景一个Game类有两个职责,一个负责跟踪当前帧,一个负责计算分数,最后两个职责分别给到两个不同的类。
就是说每个职责的一个变化不会引起两个类的正面交锋,拆开之后应该互不影响。
开放封闭原则
在我们接触面向对象的时候,听到最多的是抽象,继承,多态。
随着现代软件的发展,大家越来越意识到抽象,继承的坏处,越来越多的人采取类组合方式来协作,抽象类可以是组合的一种特殊情况。 同抽象一样,合理的开放封闭原则也要重新看待。
开放封闭意味着大量的抽象类,大量的继承,意味着内聚的丧失,意味着付出耦合的代价。