打字猴:1.700477694e+09
1700477694
1700477695 叫声是嘎——嘎——嘎
1700477696
1700477697 外形是黄白相间,嘴长
1700477698
1700477699 会游泳
1700477700
1700477701 ===一只独特的小鸭子,模样是这样的:===
1700477702
1700477703 叫声是克噜——克噜——克噜
1700477704
1700477705 外形是纯白色,惹人喜爱
1700477706
1700477707 会游泳
1700477708
1700477709 能够飞行
1700477710
1700477711 可怜的小天鹅被认为是一只丑陋的小鸭子,造物弄人呀!采用适配器模式讲述丑小鸭的故事,我们首先观察到的是鸭与天鹅的不同点,建立了不同的接口以实现不同的物种,然后在需要的时候(根据故事情节)把一个物种伪装成另外一个物种,实现不同物种的相同处理过程,这就是适配器模式的设计意图。
1700477712
1700477713
1700477714
1700477715
1700477716 设计模式之禅 31.2.3 最佳实践
1700477717
1700477718 我们用两个模式实现了丑小鸭的美丽蜕变。我们发现:这两个模式有较多的不同点。
1700477719
1700477720 ❑意图不同
1700477721
1700477722 装饰模式的意图是加强对象的功能,例子中就是把一个怯弱的小天鹅强化成了一个美丽、自信的白天鹅,它不改变类的行为和属性,只是增加(当然了,减弱类的功能也是可能存在的)功能,使美丽更加美丽,强壮更加强壮,安全更加安全;而适配器模式关注的则是转化,它的主要意图是两个不同对象之间的转化,它可以把一个天鹅转化为一个小鸭子看待,也可以把一只小鸭子看成是一只天鹅(那估计要在小鸭子的背上装个螺旋桨了),它关注转换。
1700477723
1700477724 ❑施与对象不同
1700477725
1700477726 装饰模式装饰的对象必须是自己的同宗,也就是相同的接口或父类,只要在具有相同的属性和行为的情况下,才能比较行为是增加还是减弱;适配器模式则必须是两个不同的对象,因为它着重于转换,只有两个不同的对象才有转换的必要,如果是相同对象还转换什么?!
1700477727
1700477728 ❑场景不同
1700477729
1700477730 装饰模式在任何时候都可以使用,只要是想增强类的功能,而适配器模式则是一个补救模式,一般出现在系统成熟或已经构建完毕的项目中,作为一个紧急处理手段采用。
1700477731
1700477732 ❑扩展性不同
1700477733
1700477734 装饰模式很容易扩展!今天不用这个修饰,好,去掉;明天想再使用,好,加上。这都没有问题。而且装饰类可以继续扩展下去;但是适配器模式就不同了,它在两个不同对象之间架起了一座沟通的桥梁,建立容易,去掉就比较困难了,需要从系统整体考虑是否能够撤销。
1700477735
1700477736
1700477737
1700477738
1700477739 设计模式之禅 [:1700454070]
1700477740 设计模式之禅 第32章 行为类模式大PK
1700477741
1700477742 行为类模式包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。该组真可谓是人才济济,高手如云。行为类模式的11个模式基本上都是大家耳熟能详的,而且它们之间还有很多的相似点,特别是一些扩展部分就更加相似了,我们挑选几个比较重要的模式进行对比说明。
1700477743
[ 上一页 ]  [ :1.700477694e+09 ]  [ 下一页 ]