摘要:在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来代替目标对象打点一切。这就是我们今天要讲的代理.
故事情节:
前段时间和TT矛盾很大,很难受,但仍然会不时的想起她,想知道她的生活情况,但如果直接和她打电话,她可能不会接,而且会影响她的心情。找她同学问问(代理).....对,没错就是代理.好的,我们现在就开始..........
结构图
选看看程序结果吧:
代码实现:
//生活情况的抽象
//TT的生活情况
//TT同学
//LG开始找代理问情况了
{
public static void Main()
{
//想TT了,怎么办呢,找她,不行,她肯定会不开心的,找她同学吧!好的
TTClassmate ttClassmate=new TTClassmate();
//她今天吃饭了吗
string eatFoodResult=ttClassmate.IsEatFood();
//她身体没有不舒服吧
string healthResult=ttClassmate.IsHealth();
//她今天心情好吧
string temperResult=ttClassmate.IsGoodTemper("fine");
//她有想过
string missingResult=ttClassmate.IsMissingLG();
Console.WriteLine("LG问:她今天吃饭了吗?");
Console.WriteLine();
Console.ForegroundColor=System.ConsoleColor.Cyan;
Console.WriteLine("TT同学答:{0}",eatFoodResult);
Console.ResetColor();
Console.WriteLine();
Console.WriteLine("LG问:她身体没有不舒服吧?");
Console.WriteLine();
Console.ForegroundColor=System.ConsoleColor.Cyan;
Console.WriteLine("TT同学答:{0}",healthResult);
Console.ResetColor();
Console.WriteLine();
Console.WriteLine("LG问:她今天心情好吧?");
Console.WriteLine();
Console.ForegroundColor=System.ConsoleColor.Cyan;
Console.WriteLine("TT同学答:{0}",temperResult);
Console.ResetColor();
Console.WriteLine();
Console.WriteLine("LG问:她有想过
Console.WriteLine();
Console.ForegroundColor=System.ConsoleColor.Cyan;
Console.WriteLine("TT同学答:{0}",missingResult);
Console.ResetColor();
Console.WriteLine();
Console.WriteLine("谢谢你哈!");
Console.WriteLine();
Console.WriteLine("刚才听到她说TT皮肤过敏了,真难受,飞回去?");
Console.WriteLine("她都不会想LG了,怎么办?");
Console.ReadKey();
}
}
今天到此为止,有不清楚的地方望大家指出!
作者:Louja
出处:http://louja.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此声明,且在文章页面给出原文连接,否则保留追究法律责任的权利。