设计模式简介
设计模式(Design patern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。
设计模式是一套被反复使用的.多人知晓的,经过分类编目的,代码设计经验的总结的经验。使用设计模式是为了重用代码,让代码更容易理解,保证代码的可靠性。
1.对接口编程而不是对实现编程。
2.优先使用对象组合而不是继承。
创建型模式(Creational patterns):
提供了一种在创建对象时隐藏创建逻辑的方式,而不是使用new运算符直接实例化对象。这使得程序在判断某个给定实例需要创建那些对象时更加灵活。
结构型模式(Structural Paterns):
这些设计模式关注类和对象的组合。继承的概率用来组合接口和定义组合对象获得新功能的方式。
行为型模式:(Behavioral Paterns):
关注对象间的通信。
J2EE模式:
关注表示层。
六大原则:
开闭原则:
对拓展开放,对修改关闭。在对程序进行拓展的时候,不能去修改原有的代码。实现一个热插拔的效果。使用接口和抽象类。
里氏替换原则(Liskov Substitution Principle)
任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当派生类可以替换掉基类,且软件单位功能不受到任何影响时,基类才能真正被复用,而派生类也能在基类的基础上增加新的行为。里氏代换原则是对开闭原则的补充。实现开闭原则的关键步骤就是抽象化,而基类与子类的继承关系就是抽象化的具体体现。
依赖倒转原则:Dependence inversion Principle
是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖与具体。
接口隔离原则(Interface segregation principle)
使用多个隔离的接口,比使用单个接口要好,他还有另一个意思是:降低类之间的耦合度。
迪米特法则,最少知道原则 Demeter Principle
一个实体应当尽量少于其他实体之间发生相互作用。使系统的模块功能相对独立。
合成复用原则 Composite Reuse principle
尽量使用合成/聚合的方式,而不是使用继承。