zoukankan      html  css  js  c++  java
  • 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();
    //  }
    // }
    }

  • 相关阅读:
    623. Add One Row to Tree 将一行添加到树中
    771. Jewels and Stones 珠宝和石头
    216. Combination Sum III 组合总数三
    384. Shuffle an Array 随机播放一个数组
    382. Linked List Random Node 链接列表随机节点
    向github项目push代码后,Jenkins实现其自动构建
    centos下安装Jenkins
    python提取批量文件内的指定内容
    批处理实现:批量为文件添加注释
    python抓取每期双色球中奖号码,用于分析
  • 原文地址:https://www.cnblogs.com/kuailewangzi1212/p/469434.html
Copyright © 2011-2022 走看看