2.设计模式六大原则

转载: https://www.cnblogs.com/shijingjing07/p/6227728.html

 23种设计模式:

https://www.cnblogs.com/zhili/p/DesignPatternSummery.html

面向对象它真正强大的地方在于:随着业务变得越来越复杂,面向对象依然能够使得程序结构良好,而面向过程却会导致程序越来越臃肿。

让面向对象保持结构良好的秘诀就是设计模式

学习设计模式目标就是要学会面向对象的思想编程

1.设计模式的目的

设计模式的目的就是面向对象的四大好处:可维护,可扩展,可复用和灵活性好。(活字印刷术的例子)

可扩展指的是:实现新的功能时候,不修改已经现有的测试好的功能 (工程模式)

可维护指的是:可读性好

2.常用的六大设计模

1.单一职责原则

该原则是针对类来说的,即一个类应该只负责一项职责。

有时候需要违背单一原则,我的原则是:只有逻辑足够简单,才可以在代码级违反单一职责原则;只有类中方法数量足够少,才可以在方法级别违反单一职责原则。

2.里氏替换原则

子类可以替换掉父类:只有子类可以替换掉父类,软件单位功能不受到影响时,父类才能真正被复用,而子类也可以在父类的基础上新增功能

2.1 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法

public class C {
    public int func(int a, int b){
        return a+b;
    }
}

public class C1 extends C{
    @Override
    public int func(int a, int b) {
        return a-b;
    }
}

public class Client{
    public static void main(String[] args) {
        C c = new C1();
        System.out.println("2+1=" + c.func(2, 1));
    }
}

 2.2 子类可以有自己的个性

public class C {
    public int func(int a, int b){
        return a+b;
    }
}

public class C1 extends C{
    public int func2(int a, int b) {
        return a-b;
    }
}

public class Client{
    public static void main(String[] args) {
        C1 c = new C1();
        System.out.println("2-1=" + c.func2(2, 1));
    }
}

 3. 开放封闭原则

对扩展开放,对更改封闭

4.依赖倒置原则

就是针对接口编程,电脑里面的各个插排就像是接口编程的,不关心具体的硬件内部细节,只提供了对外的接口

 

posted @ 2021-08-12 09:45  海龟123  阅读(53)  评论(0编辑  收藏  举报