zoukankan      html  css  js  c++  java
  • 设计模式模板方法

    模板方法模式


    设计原则:破坏里氏替换,体现功能复用
    常用场景:一批子类的功能有可提取的公共算法骨架
    使用概率:80%
    复杂度:中低
    变化点:算法骨架内各个步骤的具体实现
    选择关键点:算法骨架是否牢固
    逆鳞:无



    主要思想
    定义一个抽象类,在抽象类中定义一个主方法,比如是某个算法,或者要做的某件事,
    再定义一些抽象方法,这些抽象方法会在主方法中调用,这样主方法实际就相当于模板,其规定好了要做的这件事的所有步骤,
    而其中部分步骤则交给实现类去做



    比如策略模式中我们的加减算法,如果传入的是字符串


    public abstract class MyAbstractCalculate {
    
        public int calculated(String s1, String s2) {
            int c1 = Integer.parseInt(s1);
            int c2 = Integer.parseInt(s2);
            return calculated(c1, c2);
        }
    
    
        public abstract int calculated(int c1, int c2);
    }
    
    
    public class MyPlus extends MyAbstractCalculate {
        @Override
        public int calculated(int c1, int c2) {
            return c1+c2;
        }
    }
    
    
    public class MyMinus extends MyAbstractCalculate {
        @Override
        public int calculated(int c1, int c2) {
            return c1-c2;
        }
    }
  • 相关阅读:
    前端基础之BOM和DOM
    前端基础之JavaScript
    前端基础之CSS
    Black And White HDU
    Robot Motion HDU
    A Knight's Journey POJ
    Find a way HDU
    排序 HDU
    Dungeon Master POJ
    Network Saboteur POJ
  • 原文地址:https://www.cnblogs.com/zhaojj/p/7778960.html
Copyright © 2011-2022 走看看