日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

看《你必须知道的.NET》有感--工厂模式的另类解读

發(fā)布時間:2025/4/14 asp.net 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 看《你必须知道的.NET》有感--工厂模式的另类解读 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近在看博客園里的推薦的《你必須知道的.NET》,對里面有一段關(guān)于銀行的客戶和職員的安排的程序有點興趣。這里我把他改了下,促進理解:

?

Code
??1using?System;
??2using?System.Collections.Generic;
??3using?System.Text;
??4
??5namespace?ConsoleApplication1
??6{
??7????class?Program
??8????{
??9????????static?void?Main(string[]?args)
?10????????{
?11????????????bankManage?bank?=?new?bankManage();
?12????????????bank.operate(new?savingRequestion());
?13????????????bank.operate(new?outingRequest());
?14????????????bank.operate(new?turningRequest());
?15????????????Console.ReadKey();
?16????????}

?17????}

?18????/**////?<summary>
?19????///?銀行業(yè)務(wù)接口
?20????///?</summary>

?21????public?interface?operation
?22????{
?23????????void?operate();
?24????}

?25????/**////?<summary>
?26????///?存錢業(yè)務(wù)
?27????///?</summary>

?28????public?class?savingBox?:?operation
?29????{
?30????????operation?Members#region?operation?Members
?31
?32????????public?void?operate()
?33????????{
?34????????????Console.Write("You?are?saving!\n");
?35????????}

?36
?37????????#endregion

?38????}

?39????/**////?<summary>
?40????///?取錢業(yè)務(wù)
?41????///?</summary>

?42????public?class?outingBox?:?operation
?43????{
?44????????operation?Members#region?operation?Members
?45
?46????????public?void?operate()
?47????????{
?48????????????Console.Write("You?are?outing!\n");
?49????????}

?50
?51????????#endregion

?52????}

?53????/**////?<summary>
?54????///?需求
?55????///?</summary>

?56????public?interface?requestion
?57????{
?58????????operation?request();
?59????}

?60????/**////?<summary>
?61????///?存錢需求
?62????///?</summary>

?63????public?class?savingRequestion?:?requestion
?64????{
?65????????requestion?Members#region?requestion?Members
?66
?67????????public?operation?request()
?68????????{
?69????????????return?new?savingBox();
?70????????}

?71
?72????????#endregion

?73????}

?74????/**////?<summary>
?75????///?取錢需求
?76????///?</summary>

?77????public?class?outingRequest?:?requestion
?78????{
?79????????requestion?Members#region?requestion?Members
?80
?81????????public?operation?request()
?82????????{
?83????????????return?new?outingBox();
?84????????}

?85
?86????????#endregion

?87????}

?88????/**////?<summary>
?89????///?銀行管理
?90????///?</summary>

?91????public?class?bankManage
?92????{
?93
?94????????public?void?operate(requestion?man)
?95????????{
?96????????????operation?oper?=?man.request();
?97????????????oper.operate();
?98????????}

?99????}

100????/**////?<summary>
101????///?轉(zhuǎn)賬業(yè)務(wù)
102????///?</summary>

103????public?class?turningBox?:?operation
104????{
105????????operation?Members#region?operation?Members
106
107????????public?void?operate()
108????????{
109????????????Console.Write("you?are?turning!\n");
110????????}

111
112????????#endregion

113????}

114????/**////?<summary>
115????///?轉(zhuǎn)賬需求
116????///?</summary>

117????public?class?turningRequest?:?requestion
118????{
119????????requestion?Members#region?requestion?Members
120
121????????public?operation?request()
122????????{
123????????????return?new?turningBox();
124????????}

125
126????????#endregion

127????}

128}

類圖:

如果我們屏蔽設(shè)計模式在本銀行系統(tǒng)中的應(yīng)用,單從供求關(guān)系來理解這段程序最好不過了,對于一個銀行系統(tǒng)來說,主要包含職員和客戶,職員按分工的不同分為諸如存款職員、轉(zhuǎn)賬職員、取款職員等,客戶又分為存款客戶、取款客戶、轉(zhuǎn)賬客戶等,從這方面來講,似乎更難理解,換種方式,將銀行系統(tǒng)分為需求和業(yè)務(wù),客戶對應(yīng)需求,每個銀行的客戶都會對銀行產(chǎn)生一種需求;銀行提供的服務(wù)既是業(yè)務(wù),職員對應(yīng)業(yè)務(wù);于是這樣產(chǎn)生一個自然界的恒等式,即需求=業(yè)務(wù),如果客戶沒有需求,那么銀行就不會提供該種業(yè)務(wù);所以在程序中不論用戶的存款、取款、轉(zhuǎn)賬需求,最終都將return一個銀行業(yè)務(wù),單對于每一個業(yè)務(wù)的處理過程(operate),由于是銀行內(nèi)部的事情,所以應(yīng)封裝在業(yè)務(wù)類中,中間采用一個銀行管理對象來(bankManage)連接二者之間的交互過程。

轉(zhuǎn)載于:https://www.cnblogs.com/cdutedu/archive/2008/08/27/HelloWorld.html

總結(jié)

以上是生活随笔為你收集整理的看《你必须知道的.NET》有感--工厂模式的另类解读的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。