当前位置: 首页 > news >正文

石家庄做网站价格电子商务网站方案

石家庄做网站价格,电子商务网站方案,中国在线商城注册管理平台,食品厂招男女工5000小谈设计模式#xff08;20#xff09;—组合模式 专栏介绍专栏地址专栏介绍 组合模式对象类型叶节点组合节点 核心思想应用场景123 结构图结构图分析 Java语言实现首先#xff0c;我们需要定义一个抽象的组件类 Component#xff0c;它包含了组合节点和叶节点的公共操作20—组合模式 专栏介绍专栏地址专栏介绍 组合模式对象类型叶节点组合节点 核心思想应用场景123 结构图结构图分析 Java语言实现首先我们需要定义一个抽象的组件类 Component它包含了组合节点和叶节点的公共操作然后我们定义组合节点类 Composite它实现了 Component 接口并包含了一个子组件列表最后我们定义叶节点类 Leaf它也实现了 Component 接口但它没有子节点现在我们可以使用组合模式来创建一个树状结构并操作它运行上述代码输出结果如下总结 优缺点分析优点简化客户端代码增加新的节点类型方便地处理递归结构 缺点可能会导致设计过于一般化可能会增加系统的复杂性 专栏介绍 专栏地址 link 专栏介绍 主要对目前市面上常见的23种设计模式进行逐一分析和总结希望有兴趣的小伙伴们可以看一下会持续更新的。希望各位可以监督我我们一起学习进步加油各位。 组合模式 组合模式是一种结构型设计模式它允许将对象组合成树状结构以表示“部分-整体”的层次结构。组合模式使得客户端可以统一地处理单个对象和组合对象无需区分它们的区别。 对象类型 叶节点Leaf和组合节点Composite 叶节点 它表示树的最底层的对象它们没有子节点。 组合节点 它表示树的分支节点它可以包含其他的组合节点和叶节点。 核心思想 使用一个抽象类或接口来定义组合节点和叶节点的公共操作。这样客户端可以通过调用这些公共操作来处理组合节点和叶节点而无需知道具体的节点类型。 应用场景 1 需要表示对象的部分-整体层次结构并且希望客户端能够一致地处理单个对象和组合对象的情况。 2 需要对树状结构进行递归操作例如遍历树、查找特定节点等。 3 需要动态地增加或删除树的节点。 结构图 结构图分析 在上面的结构图中Component 是组合模式的抽象类或接口定义了组合节点和叶节点共有的操作。Composite 是组合节点的具体实现它可以包含其他的组合节点和叶节点。Leaf 是叶节点的具体实现。 Java语言实现 首先我们需要定义一个抽象的组件类 Component它包含了组合节点和叶节点的公共操作 public abstract class Component {protected String name;public Component(String name) {this.name name;}public abstract void operation();public abstract void add(Component component);public abstract void remove(Component component);public abstract Component getChild(int index); }然后我们定义组合节点类 Composite它实现了 Component 接口并包含了一个子组件列表 import java.util.ArrayList; import java.util.List;public class Composite extends Component {private ListComponent children;public Composite(String name) {super(name);children new ArrayList();}Overridepublic void operation() {System.out.println(Composite name operation.);for (Component component : children) {component.operation();}}Overridepublic void add(Component component) {children.add(component);}Overridepublic void remove(Component component) {children.remove(component);}Overridepublic Component getChild(int index) {return children.get(index);} }最后我们定义叶节点类 Leaf它也实现了 Component 接口但它没有子节点 public class Leaf extends Component {public Leaf(String name) {super(name);}Overridepublic void operation() {System.out.println(Leaf name operation.);}Overridepublic void add(Component component) {// 叶节点不支持添加操作}Overridepublic void remove(Component component) {// 叶节点不支持删除操作}Overridepublic Component getChild(int index) {// 叶节点没有子节点return null;} }现在我们可以使用组合模式来创建一个树状结构并操作它 public class Main {public static void main(String[] args) {// 创建树状结构Composite root new Composite(root);Composite branch1 new Composite(branch1);Composite branch2 new Composite(branch2);Leaf leaf1 new Leaf(leaf1);Leaf leaf2 new Leaf(leaf2);Leaf leaf3 new Leaf(leaf3);root.add(branch1);root.add(branch2);branch1.add(leaf1);branch2.add(leaf2);branch2.add(leaf3);// 调用操作方法root.operation();} }运行上述代码输出结果如下 Composite root operation. Composite branch1 operation. Leaf leaf1 operation. Composite branch2 operation. Leaf leaf2 operation. Leaf leaf3 operation.总结 以上就是使用Java语言实现组合模式的示例代码。通过组合模式我们可以方便地处理树状结构并且客户端可以一致地处理单个对象和组合对象。 优缺点分析 优点 简化客户端代码 客户端可以一致地处理单个对象和组合对象无需区分它们的差异。 增加新的节点类型 通过继承 Component 类可以方便地增加新的节点类型而无需修改现有的代码。 方便地处理递归结构 组合模式适用于处理递归结构例如树状结构。 缺点 可能会导致设计过于一般化 组合模式将叶节点和组合节点都抽象为 Component 类可能会导致设计过于一般化不适合特定的场景。 可能会增加系统的复杂性 组合模式引入了组合节点和叶节点的层次结构可能会增加系统的复杂性。
http://www.hkea.cn/news/14427007/

相关文章:

  • 一个网站开发时间官网网页制作
  • 公司做网站哪家好统一门户平台
  • 网站托管服务怎么收费东阿网站建设电话
  • 智慧软文网站苏州营销型网站建设方法
  • 做网站在哪里做做网站接口多少钱
  • 网站建设运营岗位职责免费职业技能培训网
  • 网站无障碍的建设方面空缺苏州做网站公司排名
  • 专门做网站的公司叫什么自己建站
  • 在北京建设教育协会的网站网站微商城的建设运营实践和思考
  • 温州英文网站建设WordPress电影网
  • 网站建设-搜遇网络新干县城乡建设局网站
  • 沧县住房和城乡建设局网站公众号后台登录
  • 社交网站备案自学做网站要多久
  • 装修公司网站设计青岛网站建站公司
  • 南京高端定制网站建设wordpress替代软件
  • 那个网站做教学视频中国100强软件公司排名公布
  • 四会建设局网站新网网站登录不上
  • 网站建设的可行性分析微信营销的策略有哪些
  • 济南哪有做网站的国外最新设计产品
  • 网站怎么做用户登录数据库做网站gzip压缩
  • 企业网站需要在电信做哪些备案厦门今天刚刚发生的新闻
  • 怀化二医院网站建材网站模板
  • 东平做网站手机客户端网站怎么做
  • 网站中的打赏怎么做的潍坊网站建设报价
  • 个人网站做企业备案网站类网站开发教程
  • 几何图形生成网站网站怎么做关键词优化
  • refile自己做的网站大数据营销系统多少钱
  • 网站服务器诊断武威建设厅网站
  • 如何判断网站程序使用asp还是php福建住房和城乡建设厅网站
  • 餐饮网站建设优化建站外国优秀网站