zoukankan      html  css  js  c++  java
  • 设计模式

    代理模式:
    为其他对象提供一种代理以控制对这个对象的访问。

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 
      6 namespace ConsoleApplication1
      7 {
      8 
      9     interface IActions
     10     {
     11         void GiveFlowers();
     12         void GiveFruits();
     13         void GivePerfume();
     14     }
     15 
     16     class SchoolGirl
     17     {
     18         private string name;
     19 
     20         public SchoolGirl(string name)
     21         {
     22             this.name = name;
     23         }
     24 
     25         public string Name
     26         {
     27             get
     28             {
     29                 return this.name;
     30             }
     31             set
     32             {
     33                 this.name = value;
     34             }
     35         }
     36     }
     37 
     38     class Pursuit : IActions
     39     {
     40         private SchoolGirl girl;
     41         private string name;
     42 
     43         public Pursuit(string name, SchoolGirl girl)
     44         {
     45             this.name = name;
     46             this.girl = girl;
     47         }
     48 
     49         public void GiveFlowers()
     50         {
     51             Console.WriteLine(this.name + " give flowers to " + girl.Name);
     52         }
     53 
     54         public void GiveFruits()
     55         {
     56             Console.WriteLine(this.name + " give fruits to " + girl.Name);
     57         }
     58 
     59         public void GivePerfume()
     60         {
     61             Console.WriteLine(this.name + " give perfume to " + girl.Name);
     62         }
     63     }
     64 
     65     class Proxy : IActions
     66     {
     67         private Pursuit pursuit;
     68 
     69         public Proxy(Pursuit pursuit)
     70         {
     71             this.pursuit = pursuit;
     72         }
     73 
     74         public void GiveFlowers()
     75         {
     76             this.pursuit.GiveFlowers();
     77         }
     78 
     79         public void GiveFruits()
     80         {
     81             this.pursuit.GiveFruits();  
     82         }
     83 
     84         public void GivePerfume()
     85         {
     86             this.pursuit.GivePerfume();
     87         }
     88     }
     89 
     90     class Program
     91     {
     92         static void Main(string[] args)
     93         {
     94             SchoolGirl girl = new SchoolGirl("Lucy");
     95             Pursuit jim = new Pursuit("Jim", girl);
     96 
     97             Proxy proxy = new Proxy(jim);
     98 
     99             proxy.GiveFlowers();
    100             proxy.GiveFruits();
    101             proxy.GivePerfume();
    102 
    103             Console.ReadLine();
    104         }
    105     }
    106 }
  • 相关阅读:
    Qt QPainter::end: Painter ended whith 2 saced states
    2月6日学习内容
    2月5日学习总结
    2月4日所学内容
    2月3日学习内容
    2月2日学习收获
    2月1日学习内容
    构建之法读后感(一)
    11月从小工到专家读后感(二)
    11月从小工到专家的读后感(一)
  • 原文地址:https://www.cnblogs.com/zzunstu/p/9298503.html
Copyright © 2011-2022 走看看