专题——常见的设计模式

常见的设计模式

1.遵循原则

1.1开闭原则

对新增开放,对修改关闭

1.2里氏代换原则

任何基类可以出现的地方,子类都可以出现(子类继承父类的时候,除了添加新方法完成新功能,尽量不要重写父类的方法)

1.3依赖倒转原则

针对抽象编程,不要针对实现编程

1.4接口隔离原则

客户端不应该被迫依赖他不使用的方法,一个类对另一个类的依赖应该建立在最小接口上

1.5迪米特法则

最小知识原则,只和你的朋友说话,不和”陌生人“说话,两个实体类如果不需要强制联系,尽量通过第三方进行联系,比如明星和粉丝,通过经纪人联系。

1.6合成复用原则

尽量使用组合或聚合的方式来实现,其次才考虑使用继承来实现

2.类与类之间的关系

2.1关联关系

单向关联
每一个顾客都有一个地址,用带箭头的直线表示
在这里插入图片描述

双向关联
顾客和产品之间的关联 用一条直线表示
在这里插入图片描述

自关联
Node类包含自身变量 ,用带箭头的指向自身表示
在这里插入图片描述

2.2聚合关系

聚合关系是关联关系中的一种,是强关联关系,是整体和部分之间的关系
聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在,例如,学校和老师的关系,学校包含老师,如果学校不办了,老师依旧存在,空心菱形实线表示 ,菱形指向整体。
在这里插入图片描述

2.3组合关系

组合也是整体和部分之间的关系,但是关系更加强烈,在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在了,部分对象也将不存在,部分对象不能脱离整体对象而存在。例如,头和嘴的关系,没有了头,嘴也就不存在了,实心菱形的实线来表示,菱形指向整体。
在这里插入图片描述

2.4依赖关系

依赖关系是一种使用关系,是对象之间耦合度最弱的一种关联方式,是临时性的关联,在代码中,某个类的方法通过局部变量,方法的参数或者对静态方法的调用,来访问另一个类(被依赖类)中的某些方法来完成一些职责。
例如司机和汽车,用虚线虚箭头表示
在这里插入图片描述

2.5继承关系

类之间耦合度最大的一种关系,父类与子类之间的关系,空心三角箭头实线表示,指向父类
比较熟悉,就不画类图了

2.6实现关系

带空心三角箭头的虚线表示,指向接口
在这里插入图片描述

3.设计模式分类

3.1创建型

将对象的创建和使用分离

  • 单例模式
  • 原型模式
  • 工厂方法模式
  • 抽象工厂模式
  • 建造者模式

3.2结构型

将类和对象按某种布局组成更大的结构

  • 代理模式
  • 适配器模式
  • 桥接模式
  • 装饰者模式
  • 外观模式
  • 享元模式
  • 组合模式

3.3行为型

描述类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务

  • 模板方法模式
  • 策略模式
  • 命令模式
  • 责任链模式
  • 状态模式
  • 观察者模式
  • 中介者模式
  • 迭代器模式
  • 访问者模式
  • 备忘录模式
  • 解释器模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值