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();
    //  }
    // }
    }

  • 相关阅读:
    【前端积累】Awesome初识
    【Python系列】Python3获取控制台输入
    【linux系列】Centos下安装mysql数据库
    Intellij 部署项目java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    【大数据系列】节点的退役和服役[datanode,yarn]
    【大数据系列】使用api修改hadoop的副本数和块大小
    【规范】alibaba编码规范阅读
    【大数据系列】hadoop上传文件报错_COPYING_ could only be replicated to 0 nodes
    【分布式系列之ActiveMq】ActiveMq入门示例
    类的生命周期
  • 原文地址:https://www.cnblogs.com/kuailewangzi1212/p/469434.html
Copyright © 2011-2022 走看看