0 设计模式介绍

设计模式介绍

1.1 设计模式

  1. 设计模式是软件设计中常见问题的典型解决方案,可用于解决代码中反复出现的设计问题。
  2. 设计模式不是算法,算法提供明确的步骤,模式更像是一个蓝图(能看到最终的结果)。

1.2 设计模式原则

设计模式背后的面向对象设计原则:

  1. 封装变化。
  2. 多用组合,少用继承。
  3. 针对接口编程,不针对实现编程。
  4. 为交互对象之间的松耦合而努力。
  5. 对扩展开放,对修改关闭。
  6. ……

1.3 设计模式分类(意图)

  1. 创建型模式:创建对象的机制,从所需要实例化的对象中解耦。
  2. 结构型模式:将对象或类组装到更大的结构中。
  3. 行为型模式:负责对象间的交互和分配职责。

分类的目的是为了更抽象地了解设计模式,以及熟悉它们之间的关系。

1.4 UML类图

UML:统一建模语言(Unified Modeling Language)。
在这里插入图片描述

  1. 依赖(偶然的,陌生的):对类B进行修改会影响到类A。
  2. 关联(必然的,熟悉的):对象A知道对象B。类A依赖于类B。
  3. 聚合(has a):对象A知道对象B且由B构成。类A依赖于类B。
  4. 组合(has a、part of):对象A知道对象B、由B构成,且管理着B的生命周期。类A依赖于类B。
  5. 实现(is a接口):类A定义的方法由接口B声明。对象A可被视为对象 B。类A依赖于类B。
  6. 继承(is a父类):类A继承类B的接口和实现, 但是可以对其进行扩展。对象A可被视为对象B。类A依赖于类B。

1.5 举个栗子

左边为面向实现开发,右边为面向接口开发。右边的更灵活,也更复杂。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值