• Adapter模式学习


    using System;
    using System.Collections;
    namespace Adapter
    {

     public interface IStack//客户希望的接口
     {
      void Pus(object item);
      object Pop();
      object Peek();
     }

     /// <summary>
     /// /////////////////////////对象适配器
     /// </summary>
     public class Adaptera:IStack//适配对象
     {
      ArrayList adaptee;//被适配对象
      public Adaptera()
      {
       list=new ArrayList();
      }
      void Pus(object item)
      {
       list.Add(item);
      }
      object Pop()
      {
       list.RemoveAt(list.Count-1);
      }
      object Peek()
      {
       return list[list.Count-1];
      }
     }


     /// <summary>
     /// //////////////应用举例
     /// </summary>
     class ExitstringClass//现有的对象(被适配对象)
     {
      public void SpecificRequest1()
      {
      }
      public void SpecificRequest2()
      {
      }
     }
     interface ITarget//客户希望的接口
     {
      void Request();
     }

     class Adapter:ITarget//适配对象(继承自客户希望的接口)
     {

      ExitstringClass adaptee;//被适配对象(现有的对象)
      public void Request()
      {
       adaptee.SpecificRequest1();
       adaptee.SpecificRequest2();
      }

     }
     /// <summary>
     /// /////////////////////////////////另外的系统
     /// </summary>
     class MySystem
     {
      public void Process(ITarget target)
      {
      }
     }

    }

  • 相关阅读:
    asp.net 中的viewstate用法?
    .net中 过滤 指定 字符串
    js中replace的用法
    restart
    外部函数
    JQuery实现Ajax 根据商品名称自动显示价格
    ListView中命令行按钮应用;
    GridView中获取行数和列数
    全局应用程序类Global
    如何获取gridview中模板列中控件的值?
  • 原文地址:https://www.cnblogs.com/kuailewangzi1212/p/345600.html
Copyright © 2020-2023  润新知