java设计模式
模式遵循单一职责原则、开放-封闭原则、依赖倒转原则、里氏代换原则、合成聚合复用原则、迪米特法则。
单一职责原则
就一个类(方法)而言,应该仅有一个引起它变化的原因。
开放-封闭原则
软件实体(类、方法、模块等)应该可以扩展,但是不可修改。
依赖倒转原则
抽象不应该依赖细节,细节应该依赖于抽象。
里氏代换原则
子类型必须能够替换掉它们的父类型。
合成聚合复用原则
尽量使用合成/聚合,尽量不要使用类继承。
聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;
合成是一个强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
迪米特法则
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个的某一个方法的话,可以通过第三者转发这个调用。
设计模式又可分为:创建型模式、结构型模式、行为型模式。
创建型模式
抽象了实例化的过程。它们帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式都会将关于该系统使用哪些具体的类的信息封装起来。
允许客户用结构和功能差别很大的“产品”对象配置一个系统。配置可以是静态的,即在编译时指定,也可以是动态的,就是运行时指定。
创建型模式包括:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。
结构型模式
包括:适配器模式、装饰模式、桥接模式、组合模式、享元模式、代理模式、外观模式。
行为型模式
包括:观察者模式、模版方法模式、命令模式、状态模式、职责链模式、解释器模式、中介者模式、访问者模式、策略模式、备忘录模式、迭代器模式。