JavaSE基础系列之设计模式必备基础

作为开发人员,设计模式大家肯定都知道它的重要性,不论在业务系统的架构设计上,还是在技术框架的底层都有许多应用。设计模式是开发人员的基本功,学好设计模式对自己技术生涯,尤为重要。要想把设计模式搞透,除了大量的业务场景帮助理解。另外理解设计原则是重中之中,一切模式都是基于设计原则而来的。

一.设计模式常用的原则

 单一职责原则

   对类来说的,即一个类应该只负责一项职责。如类 A 负责两个不同职责:职责 1,职责 2。当职责 1 需求变更而改变 A 时,可能造成职责 2 执行错误,所以需要将类 A 的粒度分解为 A1,A2。

 开闭原则

    对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。

 里氏代换原则

    任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。

依赖倒转原则

    尽量多依赖于抽象类或接口而不是具体实现类,对子类具有强制性和规范性。

接口隔离原则

    尽量多使用小接口而不是大接口,避免接口的污染,降低类之间耦合度。

迪米特法则(最少知道原则)

    一个实体应当尽量少与其他实体之间发生相互作用,使系统功能模块相对独立。 高内聚,低耦合。

合成复用原则

   尽量多使用合成/聚合的方式,而不是继承的方式。(例:如类B需要类A的成员方法,如果使用继承方式,这样类B就不能继承其它类,因为java是单继承。 这时可以在类B 声明一个类A的的成员变量类型 ,作为参数传递给类B的构造方法)。

   代码理解:

    public class B {

    private A a;  // 合成复用原则

    public B(A a) {

        this.a = a;

    }

    public void test() {

        // 调用A类中的show方法,请问如何实现?

        a.show();

    }

}

二.设计模式分类

设计模式分为三种类型,共23种。

创建型模式:单例模式、抽象工厂、原型模式、建造者模式、工厂模式。

结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

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

你可能感兴趣的:(JavaSE基础系列)