23种设计模式 之组合模式
一、定义
将对象组合成树形结构以表示“部分--整体”的层次结构,使得用户对单个对象和组合的使用具有一致性。
二、优点
高层模块调用简单,子节点增加方便
三、故事开始(代码示例)
李实名要开餐馆,地点和房子都选好了,可是人手还不够,于是李实名开始着手寻揽着一些好的下属,经过几天的寻找,人手终于被他全部找到了,分别是曹草,空明,紫龙,允常,黑子这几名得力干将,当然还有一些普通员工:
人是找好了但是职位安排呢,于是他需要一番设计:
首先是 员工基本信息 把它抽象乘一个类
接着是树叶节点,指那些没有下属的人
再下来就是树枝节点,也就是有下属的人,包括根节点(boss)
最后是场景类
好了,程序跑一遍:
员工:李实名 职位:BOSS 薪水:0.0
员工:空明 职位:CEO 薪水:11000.0
员工:紫龙 职位:CEO秘书 薪水:6000.0
员工:曹草 职位:销售总监 薪水:15000.0
员工:允常 职位:销售经理 薪水:6500.0
员工:黑子 职位:特级厨师 薪水:10000.0
员工:某A 职位:一级厨师 薪水:5000.0
OK,整个饭馆的结构好了,接下来就是经营方面的问题了,做什么菜呢?这可是个苦恼的问题,唉,算了明天再想吧!!!!