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

  • 相关阅读:
    Vue中发送HTTP请求
    Vuex
    vue-cli
    Vue基础2
    Vue基础1
    webpack_vue
    前言:数据库典型架构实践
    MySQL数据库优化
    解析 PHP 中 session 的实现原理以及大网站应用应该注意的问题
    Yii2.0 下的 load() 方法的使用
  • 原文地址:https://www.cnblogs.com/kuailewangzi1212/p/469434.html
Copyright © 2011-2022 走看看