设计模式-模板方法

简介: 设计模式-模板方法

模板方法的定义很明确:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。

具体代码:


//父类  
  public abstract class AbstractClass
    {
        //这里的两个方法让子类去实现,就是一些你的处理过程
        //下面不止局限于方法,还有你子类中出现相同的部分放到父类中,而子类中只有具体的独有的功能操作
        public abstract void PrimitiveOperation1();
        public abstract void PrimitiveOperation2();
        public void TemplateMehod()
        {
            //这里就是设置好了你的算法的骨架,就是执行的一个顺序
            PrimitiveOperation1();
            PrimitiveOperation2();
            Console.WriteLine();
        }
    }
//具体子类的实现    
public class ConcreteClassA:AbstractClass
    {
        //子类实现的父类的方法,具体的逻辑判断
        public override void PrimitiveOperation1()
        {
            Console.WriteLine("具体类A方法1实现");
        }
        public override void PrimitiveOperation2()
        {
            Console.WriteLine("具体类A方法2实现");
        }
    }

上面的对于模板方法的使用有很多的博主或者网站都有介绍并且还有很多的例子,但是我想说的模板方法用的时候是不是已经把业务确定下来了,然后才去用的,但是有没有想过你过一段时间发现你需要添加一个新的功能进去,那么你模板方法是不是就需要更改代码了,这是不是违背了开闭原则了,那么它的解决方法是什么,我们是不是模板方法的父类设置的具体算法骨架,那么我们在抽像出一个新的父类让这个模板父类继承,然后我们在这个新的父类中重新设置算法的执行顺序

它的大致这么一个思路是这样的,如果我哪里没有解释清楚,请提出来我好及时修改。感谢您的指教。

相关文章
|
3月前
|
设计模式 算法 Java
模板方法--设计模式
模板方法--设计模式
31 0
|
3月前
|
设计模式 算法 Java
模板方法设计模式(TemplateMethod)
模板方法设计模式(TemplateMethod)
|
9月前
|
设计模式 算法 Java
设计模式系列教程(08) - 模板方法
设计模式系列教程(08) - 模板方法
36 0
|
3月前
|
设计模式 算法 Java
Java一分钟之-设计模式:策略模式与模板方法
【5月更文挑战第17天】本文介绍了策略模式和模板方法模式,两种行为设计模式用于处理算法变化和代码复用。策略模式封装不同算法,允许客户独立于具体策略进行选择,但需注意选择复杂度和过度设计。模板方法模式定义算法骨架,延迟部分步骤给子类实现,但过度抽象或滥用继承可能导致问题。代码示例展示了两种模式的应用。根据场景选择合适模式,以保持代码清晰和可维护。
51 1
|
2月前
|
设计模式 算法
模板方法-大话设计模式
模板方法-大话设计模式
11 0
|
2月前
|
设计模式 存储 Java
JavaSE——面向对象高级二(2/4)-final关键字、常量、抽象类(认识抽象类、抽象类的好处、应用场景-模板方法设计模式)
JavaSE——面向对象高级二(2/4)-final关键字、常量、抽象类(认识抽象类、抽象类的好处、应用场景-模板方法设计模式)
20 0
|
9月前
|
设计模式 SQL 数据库
淘东电商项目(61) -聚合支付(基于模板方法设计模式管理支付回调)
淘东电商项目(61) -聚合支付(基于模板方法设计模式管理支付回调)
61 0
|
3月前
|
设计模式 算法 Java
【设计模式】springboot3项目整合模板方法深入理解设计模式之模板方法(Template Method)
【设计模式】springboot3项目整合模板方法深入理解设计模式之模板方法(Template Method)
|
3月前
|
设计模式 算法
设计模式之模板方法
设计模式之模板方法
|
9月前
|
设计模式 SQL 数据库
淘东电商项目(62) -聚合支付(基于模板方法设计模式管理支付回调-支付宝)
淘东电商项目(62) -聚合支付(基于模板方法设计模式管理支付回调-支付宝)
50 0