1、策略模式:在类中增加一个私有域,引用另一个类的实例,通过调用引用实例的方法从而获得新功能,这种设计被称作组合(复合)英文叫composition
2、接口是行为的抽象,抽象类是对类的抽象,类是对对象的抽象。
3、客户端代码通过分离抽象,抽象出不变部分,做成一个算法接口,封装变化,从而客户端不因变化改变而受到影响。
类中的变量私有叫字段,公有叫属性,私有的开头小写或者用_开头,公有的开头大写,接口的命名前面要加一个大写的I
4、整个instance过程中,无须变动的变量,可在初始化时候指定值,【LSP原则—关于正方形不是长方形】有很好的例子,说明这个问题。
5、组合模式会在抽象超类中添加add和remove方法,该方法确保模式中的所有类都共享同一个接口,但这同时也意味着局部类必须也实现这些方法。
6、软件实体应当对扩展开放,对修改关闭,这句话说得略微有点专业,我们把它讲得更通俗一点,也就是:软件系统中包含的各种组件,例如模块(Modules)、类(Classes)以及功能(Functions)等等,应该在不修改现有代码的基础上,引入新功能。开闭原则中“开”,是指对于组件功能的扩展是开放的,是允许对其进行功能扩展的;开闭原则中“闭”,是指对于原有代码的修改是封闭的,即不应该修改原有的代码。
7、设计模式并不是你看不懂,而是你不明白为何要如此“故弄玄虚",这个话说的非常好。一言以蔽之,设计模式的本质就是一句话:将软件中变化的部分和不变的部分分开。
评论