学习设计模式心得
最近看了很多设计模式的书,总结了一下,设计模式虽然林林总总,但是设计模式的核心基本可以浓缩成一句话:
那就是 面向接口编程
设计模式无非就是接口之间互动的各种模式,这些互动大致有以下几类:
委任: strategy,proxy,facade,adapter
通知: observer
构造: factory,builder,singleton
等等,书上大多有总结,我不一一写出来了
1、面向接口就是将接口与实现分离,上层接口负责描述抽象逻辑,下层实现负责将接口行为具体化。
2、面向接口要最大程度的延迟实现到子类中去,在基类中只保留和传递类型的引用,一切通过抽象的接口函数访问
3、接口类和抽象类应该只包含对接口的调用和类型的引用,不应该包含任何实例。
4、面向接口要以高内聚,低耦合为原则,对自己负责。
5、接口函数设计:
(1) 接口函数要简洁、统一、抽象,暴露最少的内部信息。
(2) 设计时注意函数位于哪个类层次,该层次的接口函数要履行该层次类的职责,不要超出职责范围,也不要减少职责。
掌握了接口的设计法则,就可以创造出属于自己的设计模式,自己可以想出一种互动的方式,然后用接口封装起来,这样就形成了一种设计模式。