是什么
按照书中的说法就是:合成模式是为了保证客户端调用单对象和组合对象的一致性而存在的。
看到这里,的确很难懂。
举个开发人员会用到的例子,对用户权限的处理。
就我现在所接触到的,处理方法是,有用户跟角色的分类。
用户就是我们通常所见的,注册一个网站所拥有的身份,
而角色就是拥有操作不同功能的一个个集合。
而用户只要被赋予不同的角色,就可以行使一定的功能了。
为什么
好处已经看到了,也就不需要为什么了吧。
这样对用户权限进行分层,我们就能很清晰的对用户的权限就行管理。
做什么
就目前而言,我能知道就有用户的权限管理,对工作进程的定义(对进程步骤进行聚合)。
怎么做
涉及到图与树的概念与操作,暂时还没完全理解。
更新:网上查阅了比较好的解释案例,以购物车与单物品为例。
详情见第五个设计模式:合成模式