设计模式 pk

 

 

 

适配器模式的用意是改变对象的接口而不一定改变对象的性能,而装饰模式的用意是保持接口并增加对象的职责。

 

装饰模式(decorator)适配模式(adaptor)都有一个别名叫包装模式(Wrapper,但包装的形式是不一样的

 

 

 

装饰模式 VS 继承

装饰模式 继承
用来扩展特定对象的功能 用来扩展一类对象的功能
不需要子类 需要子类
动态地 静态地
运行时分配职责 编译时分派职责
防止由于子类而导致的复杂和混乱 导致很多子类产生,在一些场合,报漏类的层次
更多的灵活性 缺乏灵活性
对于一个给定的对象,同时可能有不同的装饰对象,客户端可以通过它的需要选择合适的装饰对象发送消息。 对于所有可能的联合,客户期望
很容易增加任何的 困难

 

 

 

 

 

策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。
  GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。

Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”的问题。
  GoF《设计模式》中说道:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。

策略模式主要目的是可扩展性,命令模式的主要目的是解耦.实际应用中,根据需要使用.

 

 

 

命令模式,举一个例子说明一下,玉帝传美猴王上天,玉帝创建了一个命令就是圣旨,然后指出圣旨的接受者美猴王,而太白金星只是传达命令的人。这个过程就是命令模式的应用。这个好处就是玉帝将不会直接和美猴王打交道,他只需把命令封装在圣旨中交给太白金星传达即可其他的事他就不用问了。

 

观察者模式,还以西游记为例,唐三藏被红孩儿所困,孙悟空为救他去求菩萨,而菩萨听后将自己的宝珠净瓶向海中一掼,只见一只乌龟驮了一只瓶子上来。。。。这个乌龟就是观察者,被观察的对象就是菩萨,这里面就可以看出命令模式与之区别,乌龟是等待观察菩萨的动作,而玉帝是自己发出命令。这里面有时候很会乱的,观察者看的是乌龟怎么来实现,而命令是看发命令的人怎么安排的。。。。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

折腾数据折腾代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值