模板方法模式简述
有些时候我们做某几件事情的步骤都差不多,仅有那么一小点的不同,在软件开发的世界里同样如此,如果我们都将这些步骤都一一做的话,费时费力不讨好。所以我们可以将这些步骤分解、封装起来,然后利用继承的方式来继承即可,当然不同的可以自己重写实现嘛!这就是模板方法模式提供的解决方案。
所谓模板方法模式就是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
运行结果如图:
优缺点及适用情况
优点:
模板方法模式通过把不变的行为搬移到超类,去除了子类中的重复代码
子类实现算法的某些细节,有助于算法的扩展
通过一个父类调用子类实现的操作,通过子类扩展增加新的行为,符合“开放-封闭原则”
缺点:
每个不同的实现都需要定义一个子类,这会导致类的个数的增加,设计更加抽象
适用情况:
在某些类的算法中,用了相同的方法,造成代码的重复
控制子类扩展,子类必须遵守算法规则
老九学堂出品,转载请私信哦
对于文章内容有不理解的可以添加老九君个人QQ:614940318,请备注来自简书
老九学堂免费C、C++、Java课程地址:
https://study.163.com/courses-search?keyword=%E8%80%81%E4%B9%9D%E5%AD%A6%E5%A0%82
网友评论