Java设计模式之模板方法实例分析


本篇内容主要讲解“Java设计模式之模板方法实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java设计模式之模板方法实例分析”吧!模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术,没有关联关系。因此,在模板方法模式的类结构图中,只有继承关系。AbstractClass:抽象类,定义并实现一个模板方法。这个模板方法定义了算法的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类去实现。ConcreteClass:实现实现父类所免费云主机域名定义的一个或多个抽象方法。优点利用模板方法将相同处理逻辑的代码放到抽象父类中,可以提高代码的复用性。将不同的代码不同的子类中,通过对子类的扩展增加新的行为,提高代码的扩展性。把不变的行为写在父类.上,去除子类的重复代码,提供了一个很好的代码复用平台,符合开闭原则。缺点类数目的增加,每一个抽象类都需要一个子类来实现,这样导致类的个数增加,复杂性增加。类数量的增加,间接地增加了系统实现的复杂度。继承关系自身缺点,如果父类添加新的抽象方法,所有子类都要改一-遍。父类视角:一次性实现一个算法不变的部分,并将可变部分留给子类实现;子类视角:各个子类中,公共部分被提取出来,集中到一个公共的父类中,避免代码重复;模板方法模式的目的是让子类可以扩展或具体实现固定方法的某个具体的步骤;对于模板来说,是一套固定的算法 ,通过子类可以扩展固定算法中某些算法步骤。策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。还有一种模式也是关注对算法的封装一模版方法模式,对照类图可以看到,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与模版方法模式的区别在于:在模版方法模式中,调用算法的主体在抽象的父类中,而在策略模式中,调用算法的主体则是封装到了封装类Context中,抽象策略Strategy一般是一个接口, 目的只是为了定义规范,里面一般不包含逻辑。其实,这只是通用实现,而在实际编程中,因为各个具体策略实现类之间难免存在–些相同的逻辑,为了避免重复的代码,我们常常使用抽象类来担任Strategy的角色,在里面封装公共的代码,因此,在很多应用的场景中,在策略模式中- -般会看到模版方法模式的影子。模版方法抽象类具体实现模版类工厂模式获取模版测试类到此,相信大家对“Java设计模式之模板方法实例分析”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: php如何转化为2位数字

本篇内容主要讲解“php如何转化为2位数字”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用免费云主机域名性强。下面就让小编来带大家学习“php如何转化为2位数字”吧! php转化为2位数字的方法:1、创建一个php示例文件;2、定义“functio…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/22 22:05
下一篇 03/22 22:05

相关推荐