zoukankan      html  css  js  c++  java
  • 策略模式

    非常普遍的“策略模式”就不多介绍了,下面是一个简单的案例,通过接口修改过来的,命名可能不是太规范,请谅解。呵呵

    策略模式应该的场景:

    简单的理解一下,通过你传什么对象什么值,做什么事,这就是策略。

    类图如下:

    一个Abstract,抽象类IBack,两个派生类,CellBack,CellBackB,然后一个重要的策略类,就完成了。

    View Code
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace CA_OOO_Demo001
     7 {
     8     /// <summary>
     9     /// 定义一个回调接口
    10     /// </summary>
    11     abstract class IBack 
    12     {
    13       public  abstract void CellBackMethod();
    14     }
    15 
    16     class CellBack : IBack
    17     {
    18 
    19         public override void CellBackMethod()
    20         {
    21             Console.WriteLine("Thi is CellBack Method!A");
    22         }
    23     }
    24 
    25     class CellBackB : IBack
    26     {
    27 
    28         public override void CellBackMethod()
    29         {
    30             Console.WriteLine("Thi is CellBack Method!B");
    31         }
    32     }
    33 
    34     class Controller
    35     {
    36         public IBack CellbackObj = null;
    37 
    38         public Controller(IBack obj)
    39         {
    40             this.CellbackObj = obj;
    41         }
    42 
    43         public void Start()
    44         {
    45             Console.WriteLine("键盘按下回车键,条件成立下执行回调方法!");
    46             if (ConsoleKey.Enter == Console.ReadKey(true).Key)
    47             {
    48                 CellbackObj.CellBackMethod();
    49             }
    50         }
    51 
    52     }
    53 
    54 
    55     class InterfaceCellBack
    56     {
    57         static void Main(string[] args)
    58         {
    59             Controller cOjb = new Controller(new CellBack());
    60             Controller cOjb2 = new Controller(new CellBackB());
    61             cOjb.Start();
    62             cOjb2.Start();
    63         }
    64     }
    65 }
  • 相关阅读:
    Laravel框架中的event事件操作
    PHP魔术方法实例
    PHP 面向对象
    ThinkPHP中where()使用方法详解
    PHP常见错误提示含义解释
    php面向对象编程self和static的区别
    php文件路径获取文件名
    php三种无限分类
    php高精度计算问题
    转:JavaScript定时机制、以及浏览器渲染机制 浅谈
  • 原文地址:https://www.cnblogs.com/p_db/p/2581304.html
Copyright © 2011-2022 走看看