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

设计云网站自媒体平台注册账号下载

设计云网站,自媒体平台注册账号下载,wordpress 主机,wordpress取消邮箱当我们必须使用对象的树状分层结构时#xff0c;复合设计模式非常有用。 它使我们能够统一对待单个对象和对象的组成。 它属于结构设计模式的范畴#xff0c;因为它将对象组合成树形结构以表示部分整个层次结构。 UML表示形式#xff1a; 复合模式的UML表示形式如下#… 当我们必须使用对象的树状分层结构时复合设计模式非常有用。 它使我们能够统一对待单个对象和对象的组成。 它属于结构设计模式的范畴因为它将对象组合成树形结构以表示部分整个层次结构。 UML表示形式 复合模式的UML表示形式如下 哪里 组件是接口或抽象类 它是所有类集的超类型 复合类它定义Component的具体实现并保存其他子组件的实例 叶子类叶子表示非复合类型即它不是由其他组件组成的 请注意 一个合成对象可以包含其他合成对象这通常被称为递归合成。 此外 Leaf和Composite类都实现扩展为抽象类 Component接口。 这使我们能够通过多态统一地处理复合对象和非复合对象。 叶子和复合对象符合Component中定义的一组共享行为。 实施复合模式 让我们构建一个UI菜单层次结构其中每个菜单都可以具有子菜单。 我们将使用复合设计模式来实现此层次结构。 首先让我们定义MenuComponent类 public abstract class MenuComponent {private String name;private String url;//constructor, getters, setterspublic void add(MenuComponent component) {throw new UnsupportedOperationException();}public abstract void displayMenu();   } 我们希望统一处理聚合的菜单和单个菜单项因此我们在MenuComponent类中抽象了displayMenu方法。 现在让我们实现MenuItem类 public class MenuItem extends MenuComponent {public MenuItem(String name, String url) {super(name, url);}Overridepublic void displayMenu() {System.out.println(getName() : getUrl());}       } MenuItem将是leaf元素并且不能包含任何子菜单。 另一方面 Menu由MenuComponent对象组成。 换句话说 菜单可以同时包含Menu和MenuItem对象 public class Menu extends MenuComponent {ListMenuComponent subMenus new ArrayList();public Menu(String name, String url) {super(name, url);}Overridepublic void add(MenuComponent menuComponent) {this.subMenus.add(menuComponent);}Overridepublic void displayMenu() {System.out.println(getName() : getUrl() \n);this.subMenus.forEach(MenuComponent::displayMenu);} }测试我们的实施 客户端代码应与MenuComponent抽象一起使用。 让我们创建菜单项的层次结构 MenuComponent allTutorials new Menu(Tutorials, /tutorials);MenuComponent spring new Menu(Spring, /spring); MenuComponent versioning new Menu(Version Management, /versioning);MenuComponent java new MenuItem(Java, /java);allTutorials.add(spring); allTutorials.add(versioning); allTutorials.add(java);spring.add(new MenuItem(Spring Core, /core)); spring.add(new MenuItem(Spring Boot, /boot));MenuComponent git new Menu(Git, /git);MenuComponent svn new MenuItem(SVN, /svn);       versioning.add(svn); versioning.add(git);git.add(new MenuItem(Introduction to Git, /intro)); git.add(new MenuItem(Github Integration, /github));allTutorials.displayMenu(); 上面的代码将产生以下输出 Tutorials:/tutorialsSpring:/springSpring Core : /core Spring Boot : /bootVersion Management:/versioningSVN : /svn Git:/gitIntroduction to Git : /intro Github Integration : /githubJava : /java结论 在本教程中我们探索了复合设计模式。 这是一种结构模式在尝试创建对象的层次结构时会派上用场。 它有助于我们对复合对象和非复合对象进行统一处理。 翻译自: https://www.javacodegeeks.com/2019/08/composite-design-pattern-in-java.html
http://www.yutouwan.com/news/371743/

相关文章:

  • 去哪个网站找建筑图纸网络工程师证书报考条件
  • 男人和女人晚上做污污的视频大网站郑州男科
  • 做ae动图的网站深圳市住房和建设局门户网站
  • 农业科技公司网站案例东莞信息网
  • 光做网站推广咋样最近热搜新闻事件
  • 淘宝网站如何做虚拟网站建设配置文件无法粘贴
  • cms网站开发毕设西安大雁塔的历史简介
  • 器材管理网站开发东莞模板建网站平台
  • 网站seo优化外包黔南seo
  • 网络知识网站OA网站建设分析
  • 宁波公司招聘seo网站推广方案策划书
  • 重视网站商务通wordpress留言时间不正确
  • ps切片工具做网站新榜数据平台
  • 手机网页 模板广告优化师工资一般多少
  • 注册网站时审核是人工审核吗还是电脑审核优秀企业门户网站建设
  • 网站如何做软文推广华强北设计网站建设
  • 做一个网站的流程上海单个关键词优化
  • 广告型网站怎么做wordpress 转义
  • 手机网站开发指南做课件需要的纯音乐网站
  • 官方网站建设要点网站做收录
  • 网站关键词描述公众号注册官网
  • 传奇怎么建设自己的网站用网站模板建网站
  • 电子商务网站的建设包含哪些流程图宁波专业做网站
  • 做电商网站运营wordpress标签404
  • 网站界面用什么做的全国平面设计大赛官网
  • 网站建设与管理是学什么劳力士手表网站
  • 网站建设 客户需求专业免费建站
  • 网站建设 镇江万达WordPress文章付费系统
  • 优化网站步骤游戏科技网站
  • 建设网站话术steam交易链接在哪里看