首页 > 编程知识 正文

设计模式模板模式和策略模式的区别与联系,模式设计是什么

时间:2023-05-04 03:31:32 阅读:270944 作者:825

策略模式和模板模式两者都是多态的体现,其具体的讲解可参考这位大神的文章,将的很具体。

策略:https://www.cnblogs.com/jiese/p/3181099.html

模板:https://www.cnblogs.com/jiese/p/3180477.html

模板模式:定义一个算法流程的骨架,把一些可变节点延迟到具体的子类中去执行

策略模式

策略模式:将某个类的核心算法提取出来、封装,使得对象在针对不同的情境可以方便地更换执行策略(算法),使得算法独立变化而不影响客户端的使用。有一个Context的类,这个类聚合了Strategy类,在实际的使用过程中Context可根据Strategy指向的不同而调用不同的ConcreteStrategy,执行不同的功能。更体现的是一种组合的意思。

其实两者没有太多的区别,非要说区别的话可以总结一下几点:

可变节点:模板模式可变节点大于等于一;策略模式被重载的节点一般唯一;
重载侧重点:模板模式要求算法流程中的某几个节点会被替换,但顺序不变;策略模式中整个算法都是可以被替换的。
 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。