设计模式分类之“组件协作模式”

组件协作模式

“组件协作”模式通过晚期绑定来实现框架与应用程序之间的松耦合,是二者协作时常用的模式。

Template Method(模板方法模式)

​ 定义一个骨架(稳定),而将一些特定步骤**延迟(变化)到子类,Template Method使得子类可以不改变(复用)一个算法的结构即可重定义(Override重写)**某些特定步骤。

总结:

  • “早绑定”转化为了“晚绑定”
  • 直观的看其实就是 “虚函数的多态使用”

注意:在有类的继承中时,应该尽可能的将析构函数写成虚函数样式,这样是为了避免析构掉不合适的类。

Strategy(策略模式)

定义一系列算法,把他们一个个封装起来,并且使它们可以相互替换(变化)。该模式使得算法可以独立于使用它们的客户程序(稳定)而变化(扩展,子类化)。

总结:

  • 当 strategy 对象没有实例变量,可以让上下文共同使用同一个 Strategy 对象,以节省开销;
  • 提供了替换条件判断语句的一种模式,即当需要大幅使用 if-else、switch-case 时可以考虑使用策略模式。

Observe(观察者模式)

定义:当一个对象发生变化时,其他依赖对象做出对应反应(收到通知)。

使用:定义一个观察者基类和一个被观察者基类,同时定义多个派生类去继承它们。使目标发送通知时,无需指定观察者,通知自可自动发送(传播)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值