zoukankan      html  css  js  c++  java
  • 行为型设计模式之-模板模式

    模板模式:就是字面意思。依赖抽象。也就是抽象类做一个模板,按照固定流程执行方法。方法固定不变的(方法12345执行)。每个方法判断是否是固定不变的。固定不变的那就是普通方法,如果部分有变化,那就是要虚方法。如果确定不了就用抽象方法。子类继承后,就按照该模板实现然后调用。来看代码,看了就清晰了!

     1 /// <summary>
     2     /// 行为型设计模式之模板模式
     3     /// </summary>
     4     public abstract class BehaviorDesign
     5     {
     6         public void DoSomesing()
     7         {
     8             //固定执行流程
     9             DoStudy();
    10             DoSomeSingTime2();
    11             DoSomeSingTime();
    12             DoSomeSingTime3();
    13             HavingDinner();
    14             DoSomeSingTime4();
    15         }
    16 
    17         public void DoStudy()
    18         {
    19             Console.WriteLine("学习");
    20         }
    21 
    22         public void HavingDinner()
    23         {
    24             Console.WriteLine("吃饭");
    25         }
    26         public virtual void DoSomeSingTime()
    27         {
    28             Console.WriteLine("上厕所");
    29         }
    30 
    31         public virtual void DoSomeSingTime2()
    32         {
    33             Console.WriteLine("听歌");
    34         }
    35 
    36         public abstract void DoSomeSingTime3();
    37         public abstract void DoSomeSingTime4();
    38 
    39         
    40        
    41         
    42     }
    43 
    44     public class Template : BehaviorDesign
    45     {
    46         public override void DoSomeSingTime3()
    47         {
    48             Console.WriteLine("泡妹子");
    49         }
    50 
    51         public override void DoSomeSingTime4()
    52         {
    53             Console.WriteLine("打游戏");
    54         }
    55 
    56         public override void DoSomeSingTime()
    57         {
    58             base.DoSomeSingTime();
    59             Console.WriteLine("想干嘛就干嘛");
    60         }
    61     }
    62     //调用端
    63     public class Create
    64     {
    65         static void Main()
    66         {
    67             BehaviorDesign behaviorDesign = new Template();
    68             behaviorDesign.DoSomesing();
    69         }
    70     }
    View Code

    总结:模板方法就是类应对固定流程,但是不固定里面执行的内容。通过抽象里面的具体细节,来达到,外部扩展实现!!。

    本文来自博客园,作者:小换哥,转载请注明原文链接:https://www.cnblogs.com/haunge/p/15035180.html

  • 相关阅读:
    统计图配色方案_填充
    如何在C/S下打印报表
    如何利用API导出带有页眉页脚的excel
    通过ajax记录打印信息
    reportConfig.xml两种数据源连接的配置方式
    润乾填报页面导入excel后增加js动作
    matplotlib多plot可视化
    Python之SGDRegressor
    Python之岭回归
    Python之随机梯度下降
  • 原文地址:https://www.cnblogs.com/haunge/p/15035180.html
Copyright © 2011-2022 走看看