TT和LG编程设计模式之代理
生活随笔
收集整理的這篇文章主要介紹了
TT和LG编程设计模式之代理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
摘要:在軟件系統(tǒng)中,有些對象有時候由于跨越網(wǎng)絡(luò)或者其他的障礙,而不能夠或者不想直接訪問另一個對象,如果直接訪問會給系統(tǒng)帶來不必要的復(fù)雜性,這時候可以在客戶程序和目標對象之間增加一層中間層,讓代理對象來代替目標對象打點一切。這就是我們今天要講的代理.
?
故事情節(jié):
前段時間和TT矛盾很大,很難受,但仍然會不時的想起她,想知道她的生活情況,但如果直接和她打電話,她可能不會接,而且會影響她的心情。找她同學問問(代理).....對,沒錯就是代理.好的,我們現(xiàn)在就開始..........
結(jié)構(gòu)圖
?
?
選看看程序結(jié)果吧:
?
?
代碼實現(xiàn):
//生活情況的抽象
Code?1
?2//生活情況的抽象
?3public?interface?LifeCircs
?4{
?5????//是否吃飯
?6????string?IsEatFood();
?7????//身體是否好
?8????string?IsHealth();
?9????//心情是否好
10????string?IsGoodTemper(string?weather);
11????//是否有想LG
12????string?IsMissingLG();
13}
?
//TT的生活情況
?
Code?1//TT的生活情況
?2public?class?TT:LifeCircs
?3{
?4????//是否吃飯
?5????public?string?IsEatFood()
?6????{
?7????????return?"吃了蓮藕,木耳,西紅市,黃瓜!";
?8????}
?9????
10????//身體是否好
11????public?string?IsHealth()
12????{
13????????return?"皮膚過敏了!";
14????}
15????
16????//心情是否好
17????public?string?IsGoodTemper(string?weather)
18????{
19????????if(weather=="fine")
20????????{
21????????????return?"心情非常的好!";
22????????}
23????????return?string.Empty;
24????}
25????
26????//是否有想LG
27????public?string?IsMissingLG()
28????{
29??????return?"沒有,忘了!";
30????}
31}
?
//TT同學
Code?1//TT的同學
?2public?class?TTClassmate:LifeCircs
?3{
?4????//TT和同學住一起。(組合)
?5????TT?tt=new?TT();
?6????
?7????//是否吃飯
?8????public?string?IsEatFood()
?9????{
10????????return?tt.IsEatFood();
11????}
12????
13????//身體是否好
14????public?string?IsHealth()
15????{
16????????return?tt.IsHealth();
17????}
18????
19????//心情是否好
20????public?string?IsGoodTemper(string?weather)
21????{
22????????return?tt.IsGoodTemper(weather);
23????}
24????
25????//是否有想LG
26????public?string?IsMissingLG()
27????{
28??????return?tt.IsMissingLG();
29????}
30}
?
//LG開始找代理問情況了
?
Code//LG
public?class?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
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此聲明,且在文章頁面給出原文連接,否則保留追究法律責任的權(quán)利。?
?
轉(zhuǎn)載于:https://www.cnblogs.com/louja/archive/2008/09/08/1286579.html
總結(jié)
以上是生活随笔為你收集整理的TT和LG编程设计模式之代理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mcse 2000 认证介绍
- 下一篇: java.lang.Unsupporte