UML类图与设计模式/原则

类之间的关系

  • 类之间的关系:依赖、泛化(继承)、实现、关联、聚合与组合

依赖

  • 只要是在类中用到了对方,那么他们之间就存在依赖关系。如果没有对方,连编绎都通过不了
    在这里插入图片描述

泛化(继承)

在这里插入图片描述

实现

在这里插入图片描述

关联

在这里插入图片描述

聚合

在这里插入图片描述

组合

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

设计模式的七大原则

  • 单一职责原则
  • 接口隔离原则
  • 依赖倒转(倒置)原则
  • 里氏替换原则
  • 开闭原则
  • 迪米特法则(最少知道原则)
  • 合成复用原则

设计模式

单例

在这里插入图片描述

工厂模式

在这里插入图片描述

原型模式(深/浅拷贝)

  • 原型模式(Prototype模式)是指:用原型实例指定后面新创建对象的种类,并且通过拷贝这些原型,创建新的对象
  • 原型模式是一种创建型设计模式,允许一个对象再创建另外一个可定制的对象,无需知道如何创建的细节
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

建造者模式

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

适配器模式

在这里插入图片描述在这里插入图片描述

桥接模式

在这里插入图片描述在这里插入图片描述
!在这里插入图片描述

装饰者模式

  • 装饰者模式:能够动态的将新功能附加到对象(被装饰者)上,在对象功能扩展方面,它比继承更有弹性,装饰者模式也体现了开闭原则(ocp)
  • 装饰者类和被装饰者类共同实现一个接口,被装饰者类作为装饰者类的成员属性(聚合)
    在这里插入图片描述

组合模式

  • 管理者类和被管理者类共同实现一个接口,被管理者类的集合作为管理者类的成员属性
  • 组合模式和装饰者模式的区别在于,虽然都要实现同一个接口,但是实现类之间的关系不同,以及装饰仅仅是一种功能上的增强,管理就包括对被管理者的增删改
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

外观模式

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

享元模式

  • 将一些对象或数据以特定的方式提供给外部重复使用
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

代理模式

在这里插入图片描述

  • 静态代理,要求代理类和被代理类共同实现同一个接口,且被代理类作为代理类的成员属性(聚合)
    在这里插入图片描述
  • JDK动态代理,是利用JDK的API,动态的在内存中构建代理类对象,但是被代理类要实现和被代理类实现实现的相同接口,因为动态生成的代理类对象是该接口的实现类
  • Cglib动态代理,Cglib代理也叫作子类代理,它是在内存中构建一个被代理类的子类对象从而实现对目标对象功能扩展,Cglib的底层是通过使用字节码处理框架ASM来转换字节码并生成新的类
    • 被代理类的对象的方法如果为final、static,那么就不会被拦截,即只会执行被代理类的对象的方法
      在这里插入图片描述

模板方法模式

在这里插入图片描述在这里插入图片描述

  • 钩子方法:在模板方法模式的父类中,我们可以定义一个方法,它默认不做任何事,子类可以视情况要不要覆盖它,该方法称为“钩子”
    在这里插入图片描述
    在这里插入图片描述

命令模式

  • 命令模式使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦
  • 在命令模式中,会将一个请求(命令)封装为一个对象,以便使用不同参数来表示不同的请求(命令),同时命令模式也支持命令撤销的操作
  • 通俗易懂的理解:将军发布命令,士兵去执行
  • 其中有几个角色:将军(命令发布者)、士兵(命令的具体执行者)、命令(连接将军和士兵)
  • Invoker是调用者(将军),Receiver是被调用者(士兵),MyCommand 是命令,实现了 Command 接口,持有接收对象
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

访问者模式

在这里插入图片描述在这里插入图片描述在这里插入图片描述

迭代器模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

观察者模式

在这里插入图片描述在这里插入图片描述在这里插入图片描述

中介者模式

在这里插入图片描述在这里插入图片描述

备忘录模式

在这里插入图片描述在这里插入图片描述

解释器模式

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

状态模式

在这里插入图片描述在这里插入图片描述

策略模式

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

职责链模式

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值