0%

java设计模式概述

文章字数:792,阅读全文大约需要3分钟

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

分类

设计模式大致分为三类(23种):

  • 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。

    这些设计模式提供了一种创建对象时隐藏创建逻辑的方式,而不是使用new直接实例化。使创建实例更加灵活,创建对象的方式更有引导性。

  • 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。

  • 行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

遵守原则

  • 开闭原则Open Close Principle
      对扩展开放,对修改关闭。(程序拓展的时候不能修改原有的代码)

  • 里氏代换原则Liskov Substitution Principle

    1
    2
    3
    (1)子类的能力必须大于等于父类,父类可以使用的方法子类都可以使用
    (2)返回值的类型也一样,如父类返回List,子类则可以返回ArrayList
    (3)子类只能抛出父类有的异常
  • 依赖倒转原则Dependence Inversion Principle
    面向接口编程,依赖抽象而不是依赖具体。

  • 接口隔离原则Interface Segregation Principle
    多个隔离的接口比单接口好,降低依赖,降低耦合。

  • 迪米特法则(最少知道原则)Demeter Principle
    实体尽量少的与其它实体之间发生相互作用,系统功能相互独立。

  • 合成复用原则Composite Reuse Principle
    尽量使用合成/聚合的方法,而不是使用继承。
    即原本是父类属性的值剥离出来,比如颜色,专门写一个Color类,其中实现相应的方法。在父类和子类中调用这个类。