
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习达内Java编程等互联网课程,而本文我们就通过案例分析来简单了解一下,组合模式和模版方法模式的概念与应用分享。
一、组合模式
1、模式描述
组合模式属于结构型模式,把多个对象组成树状结构来表示局部与整体,这样用户可以以相同的方式对待单个对象和组合对象。需要注意的是这里的组合和之前系列中,我们说的组合关系(可以将已有对象纳入新对象中,使之成为新对象的一部分,新对象可以调用已有对象的功能)是两个完全不同的概念哈。
2、模式结构
抽象节点类:树枝节点类和叶子节点类的父类,定义它们的行为规范和共有属性。
树枝节点类:存在下级节点,需要储存叶子节点类的集合。拥有一个或者多个抽象节点对象
叶子节点类:没有下级节点,组合模式下小单位。
3、实现逻辑
抽象出共性接口,树枝节点类和叶子节点类同时实现接口,树枝节点类引用接口集合对象,叶子节点引用上级树枝节点对象。
4、实战代码
我们知道文件系统就是一个树状结构,文件夹下面会有文件夹或者文件。在这里文件夹就是树枝节点类,文件就是叶子节点类。
5、适用场景
组合模式的目的就是将一系列相似对象组设置为树形结构,方便对某一个节点下的内容进行操作。所以组合模式适用于出现树形结构的地方。例如:多级菜单显示,文件目录显示,多级目录呈现等树形结构数据的操作。
二、模版方法模式
1、模式描述
模版方法模式属于类行为型模式,在父类中定义业务框架,并将某些步骤的实现延迟到子类实现,允许子类在不影响框架接口的的情况下,重写某些步骤。
2、模式结构
模版类:定义出业务执行步骤和骨架(模版方法),定义每个步骤的抽象规范,部分步骤可以默认实现。
具体业务实现类:继承或实现模版类,实现所有步骤的规范。
3、实现逻辑
模版方法模式本质是将一个业务分解为一系列步骤(分解封装为多个方法),然后将在模版方法中依次调用。分解出来的方法可以是抽象的,但客户端调用时必须实现这些步骤,必要时可以重写默认方法。
4、适用场景
存在固定业务逻辑,但存在少量差异的情况。
存在多个相似业务,可以根据模版方法提取模版类,通过实现具体业务类来减少冗余的重复代码。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei456学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。