扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文实例讲述了javascript 设计模式之组合模式原理与应用。分享给大家供大家参考,具体如下:
组合模式用于简单化,一致化对单组件和复合组件的使用;其实它就是一棵树;
这棵树有且只有一个根,访问入口,如果它不是一棵空树,那么由一个或几个树枝节点以及子叶节点组成,每个树枝节点还包含自己的子树枝以及子叶节点;
在面向对象编程中,叶子以及复杂对象(树枝节点)都继承一个接口或抽象类分别实现;
这个抽象定义一般三个部分组成,组件的基本信息,Add方法,Remove方法;
叶子节点只包含本身的数据,Add, Remove 基本为空操作;
树枝节点实现组件时,一般包含一个数组定义,用于存储子叶或树枝节点,还包括一个获取所有子节点的方法: 如GetList;
实例场景:
1>. 自然界中的各种树,树长在大地人,树头(树根),即是入口点,这棵树头向上生长,即有自己的叶子,又有自己的子树枝,某树枝还有自己的叶子,跟子树枝;
2>. 操作系统目录结构、公司部门组织架构、国家省市县、宇宙万物都有单独元物质以及物物包含的现象,像这么看起来复杂的现象,都可以使用组合模式,即部分-整体模式来操作;
一棵树:
组合模式结构图:
1. Component 组件;
function Component() { this.name = ''; } Component.prototype = { Add: function(comp) { //rewrite }, Remove: function(name) { //rewrite }, set: function(name) { this.name = name; }, operate: function() { //... } } var comp = new Component();
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流