行为型--模版模式和策略模式

模板模式


定义:算法(逻辑,步骤)骨架(模版);具体的步骤,在子类实现,不改变步骤顺序。

目的:复用在父类,拓展子类。

ps:可以备注,避免子类重写,or 必须重写。

 

 

模板模式基于继承关系来实现,子类重写父类的抽象方法,是一种类之间的关系。

同步回调指在函数返回之前执行回调函数(和模版类似);回调基于组合关系来实现,把一个对象传递给另一个对象,是一种对象之间的关系;

异步回调指的是在函数返回之后执行回调函数。类似观察者模式

回调基于组合,更灵活

 

 

回调是一种双向调用关系。A 类事先注册某个函数 F 到 B 类,A 类在调用 B 类的 P 函数的时候,B 类反过来调用 A 类注册给它的 F 函数。这里的 F 函数就是“回调函数”。A 调用 B,B 反过来又调用 A,这种调用机制就叫作“回调

1.让 B骨架类,更加通用;A定制。

2.通知。

3.流程控制,多个回调,一个失败就推出。

 

Callback 和 Hook 的区别

 

对于callback 和 hook 的提供意图来说,提供callback 的时候是希望在callback里面完成主要的工作。hook的目的则在于扩展。前者的提供者通常没我在默认实现,非常希望callback 完成具体任务,而hook是基本已经实现了大部分功能,如果需要特殊操作,那就在hook里面做。

hook是中间件,callback是业务处理。

 

策略模式


静态策略,map

New 策略,if else

 

和工厂模式的区别:

我的理解是工厂模式就是成产对像,至于你要用这个对象做哪些行为他不管。 策略模式是把对象和对象的方法封装了起来,按照逻辑实现一种行为。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值