当前位置: >
时尚穿搭
搭配套餐代码(设计模式之组合套餐模式)
搭配套餐代码。需求小故事:
小明,刚坐下打开电脑,一个个的需求就扑面而来。需求大体如下
1,在顶部模块添加一个文字描述
2,在顶部模块添加一个视频
3,在顶部模块添加一个图片
4,在顶部模块添加一个图片和文字
5,。。。。。
此时犯难的小明告诉自己,要冷静,如果按照需求一个个的添加,永远做不完。此刻老猿猴路过,看见犯难的小明说,什么需求啊?这么挠头啊?小明讲述完一遍后,老猿猴开始了他的分析:
通过观察可以看出来,这些添加的内容是相互独立的几种类型,对某一个类型的修改并不影响其他模块。所以你完全可以将每一类模块抽象成面向对象中的每一个类,这样就不存在相互影响了。需要完成什么需求,只需要抽取出需要的独立模块类组合一下就可以实现。此时使用组合模式是最符合的
小明问:啥是组合模式呢?
打个比方:当我们进入快餐店的时候,我们可以一个一个地选择我们需要的菜,这样会比较麻烦,而套餐确实将大部分需要的菜组合在一起,大家直接选择就会很便捷还方便。
具体怎么操作呢,代码实现:
第一步:依次实现各个子类
各个子类
第二步,创建子类映射工厂
映射工厂
第三步,创建模拟组合数据
组合模拟数据
第四步,创建解析数据的方法
解析方法
通过,执行解析方法,我们就可以获取到对应数据结构的组合内容。当然由于各个子类是相互独立的,我们就可以实现不同的子类的渲染而不需要关系其他内容。
直接操作数据的组合就可以完成不同的需求组合。
下节剧透:
接下来的小明,在开发中会涉及到需要其他同事辅助开发才能完成的需求。看看有没有什么好的设计模式来解决,这种相互依赖的需求
大家可以多多关注,我会慢慢更新的
本文关键词:
搭配套餐代码
版权申明:
除原创作品外,本平台所使用的文章、图片、视频及音乐属于原权利人所有,因客观原因,或会存在不当使用的情况,如部分文章或文章部分引用内容未能及时与原作者取得联系,或作者名称及原始出处标注错误等情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解,并请在30日内与我们联系,请发邮件至ben-tst@163.com,易百科核实后会尽快删除,共同维护良好的网络创作环境。