• Observer 在商业软件应用的研究


    using System;
    using System.Windows.Forms;

    namespace CS
    {

     //---------------------------------------------
     //各种操作
     //---------------------------------------------
     public interface IWork
     {
      void Update();
     }

     public class UpdateStock:IWork
     {
      public void Update()
      {
       MessageBox.Show("修改库存");
      }
     }

     public class GroupSale_Work:IWork
     {
      public void Update()
      {
       MessageBox.Show("团购");
      }
     }


     public class EntryStock_Work:IWork
     {
      public EntryStock_Work()
      {
      }
      public void Update()
      {
       MessageBox.Show("生成入库报表");
      }

     }

     public class Purchase_Work:IWork
     {
      public Purchase_Work()
      {
      }
      public void Update()
      {
       MessageBox.Show("生成采购报表");
      }
     }

     public class RetPurchase_Work:IWork
     {
      public RetPurchase_Work()
      {
      }
      public void Update()
      {
       MessageBox.Show("生成退货报表");
      }
     }

     public class Supplier_Account:IWork
     {
      public Supplier_Account()
      {
      }
      public void Update()
      {
       MessageBox.Show("生成供应商结算报表");
      }
     }


     //-------------------------------------------
     //各种单据生成各种报表的过程
     //-------------------------------------------
     public abstract class Auditer
     {
      public Auditer()
      {
      }
      private System.Collections.ArrayList Iwork=new System.Collections.ArrayList();
      public void Add(IWork work)
      {
       Iwork.Add(work);
      }
      public void Remove(IWork work)
      {
       Iwork.Remove(work);
      }
      public void Audite()
      {
       foreach(IWork work in Iwork)
       {
        work.Update();
       }
      }
     }

     //------------------------------------------
     //各种单据
     //------------------------------------------
     public class Entry_Bill:Auditer
     {
      public Entry_Bill()
      {
      }
     }


     //---------------------------------------
     //举例说明
     //---------------------------------------
    // public class Cmain
    // {
    //  public static void Main()
    //  {
    //   //入库过程
    //   CS.Entry_Bill Entry=new Entry_Bill();
    //   Entry.Add(new EntryStock_Work());//入库
    //   Entry.Add(new UpdateStock());//修改库存
    //   Entry.Add(new Supplier_Account());//供应商结算报表生成
    //   Entry.Audite();
    //  }
    // }
    }

  • 相关阅读:
    操作系统的发展史
    多线程的些许理解(平台x86,具体考虑linux,windows)
    C++ 11 智能指针
    C++虚函数和纯虚函数
    Qt之excel 操作使用说明
    查找之二叉排序树
    图的一些总结
    树的一些总结
    直接插入排序
    冒泡和选择排序
  • 原文地址:https://www.cnblogs.com/kuailewangzi1212/p/469434.html
Copyright © 2020-2023  润新知