设计模式之基本原则和UML图

1.基本原则

程序设计模式主要的原则有两种:

1)开放-封闭原则

软件对于扩展开放,但对于修改封闭,换言之,可以进行功能的添加,但不能进行实现类内部的修改。

开放封闭原则的实例:代理

分为代理对象和真实对象,定义接口,接口被代理对象和真实对象继承。真实对象中的函数不修改,在代理对象函数中可以进行功能的添加。

package Thread;

public class StaticProxy {

    // 将 You对象导入 Company 之中即可,由 target 对象 代理 You对象进行函数
    public static void main(String[] args) {
        You you = new You("韦天");
        Company company = new Company(you);
        company.HappyMarry();
    }
}

// 实现接口 Marry
interface Marry{
    void HappyMarry();  // 接口不能有具体的函数实现体
}


// 真实对象类
class You implements Marry{
    private String name;
    public You(String name)
    {
        this.name = name;
    }
    //  继承接口,重写接口中的方法
    @Override
    public void HappyMarry() {
        System.out.println(this.name+" 要刷卡了");
    }
}

// 代理对象类
class Company implements Marry{
    private You target;    // 目标对象,定义Marry类对象也可通过编译

    public Company(You target) {
        this.target = target;
    }

    @Override
    public void HappyMarry() {
        before();
        this.target.HappyMarry();  // 真实对象功能不变,在代理对象中可以添加功能
        after();
    }

    private void before(){
        System.out.println("上车");
    }

    private void after(){
        System.out.println("下车");
    }
}

2)依赖倒转原则

抽象不应该依赖于细节,细节应该依赖于抽象。程序尽可能地面对抽象去设计,逻辑比具体实现更加重要。

2.uml图相关

uml图表示类的关系和类结构,uml 图例:

uml图中6种关系:

1)继承

2)实现接口

3)关联

关联:一个类中有另一个类的对象

4)聚合

A对象可以包含B对象,但是B对象不是A对象的一部分

5)组合

A和B是部分与整体的关系

6)依赖

更详细的可以去看《大话设计模式》,内容以及图例来自该书

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页