用生活中的例子来说明设计原则.你要不要来挑战一下
假设你开发了一个俄罗斯方块,如果你全部写在一个main方法里面,那他将非常难以维护,但是你可以一单招最基本的原则,将页面渲染和俄罗斯方块的逻辑分开,那么你就有一个
移植性很强的程序,你可以直接从pc移植到andori,成本很低,这就是单一职责带来的好处。
你会修电脑么,你会当你内存不足的时候更换内存条么,为什么各个不同厂商生产的cpu都可以被你使用,为什么电脑这么复杂的东西,你却可以进行简单的修理,而体积更小的收音机你就不行,
因为各个电脑厂商之间,都是通过接口的协定去生生产自己的设备,所以主要大家都遵守同一种接口约定生产的设备就可以混用,这就是面向接口编程,或者叫依赖倒转的好处
同样是电脑,假设我们得内存不足了,你想加一些内存,有多种方式,可能是直接在你的内容上把8G换成16G,但可能你发现你的电脑可以在插另外一条内存条,变成8+8的方式,为什么你可以加
因为厂商发现很多玩电脑的人都会有这种需求,于是就封装提供了扩展接口,而不是拆厂商的机器,在捣鼓成16G,这就是开闭原则的好处,你有这样的需求,那我就提前封装好,让你不需要拆电脑,就
可以很方面的扩展出你想要的内存。
原来这么多的原则已经被我们在生活中用的这么好,那为什么我们不在编程中,小小的移植一下,让我们的程序就算复杂也跟电脑一样简单,灵活,你也可以举出你想到的生活中的设计原则的应用。