刚看完装饰器模式,对于其余继承的区别,想到一个这样的类比。
比如我们看过这样的好莱坞电影情节:美国大兵要去打某个据点(村庄,城市等等),单兵进去,人生地不熟的容易被地头蛇干掉吧。这时候美国大兵都会呼叫空中支援,哗哗的叫来飞机把那个据点啊大楼啊什么的炸一遍。
好,类比的情况就是这样,每个连队最初的配置就是机枪,现在要扩展成用飞机了吧,你要是用继承,就相当于每个连队都得再配一架F22神马的飞机,这后勤开销就大了去了。我现在用装饰器模式,就是成立个轰炸小组什么的,哪个连队需要用飞机,直接就call一个,飞机就来了。
这样体系结构就冲变成了
军队(继承版)
|--连队A
|--飞机A
|--连队B
|--飞机B
|--连队C
|--飞机C
变成了:
军队(装饰器版)
|--连队A
|--连队B
|--连队C
|--飞行大队 |
|