设计原则
单一职责原则(SRP)
一个对象或方法只做一件事情。如果一个对象或方法承担过多功能,当需求变更的时候,这个方法改写的可能性就比较大。
应该把对象和方法分成较小粒度。
最少知识原则(LKP)
一个软件实体尽可能少的和实体发生相互作用。
应当尽量减少对象之间的交互。如果两个对象之间不彼此直接通信,那么这两个对象就不要发生直接的相互联系,可以转交给第三方进行处理。
开放-封闭原则
软件实体(类、模块、函数)等应该是可以扩展的,但是不可修改。
当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增加代码的方式。尽量避免改动程序的源代码,防止影响原系统的稳定。
什么是设计模式
作者的这个说明解释得挺好
假设有一个空房间,我们要日复一日地往里 面放一些东西。最简单的办法当然是把这些东西 直接扔进去,但是时间久了,就会发现很难从这 个房子里找到自己想要的东西,要调整某几样东 西的位置也不容易。所以在房间里做一些柜子也 许是个更好的选择,虽然柜子会增加我们的成 本,但它可以在维护阶段为我们带来好处。使用 这些柜子存放东西的规则,或许就是一种模式
学习设计模式,有助于写出可复用和可维护性高的程序
设计模式的原则是“找出 程序中变化的地方,并将变化封装起来”,它的关键是意图,而不是结构。
不过要注意,使用不当的话,可能会事倍功半。