中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

.NET設(shè)計(jì)模式:工廠方法模式(Factory Method)

  概述

  在軟件系統(tǒng)中,經(jīng)常面臨著“某個(gè)對(duì)象”的創(chuàng)建工作,由于需求的變化,這個(gè)對(duì)象的具體實(shí)現(xiàn)經(jīng)常面臨著劇烈的變化,但是它卻擁有比較穩(wěn)定的接口。如何應(yīng)對(duì)這種變化?提供一種封裝機(jī)制來(lái)隔離出“這個(gè)易變對(duì)象”的變化,從而保持系統(tǒng)中“其它依賴(lài)該對(duì)象的對(duì)象”不隨著需求的改變而改變?這就是要說(shuō)的Factory Method模式了。

  意圖

  定義一個(gè)用戶(hù)創(chuàng)建對(duì)象的接口,讓子類(lèi)決定實(shí)例化哪一個(gè)類(lèi)。Factory Method使一個(gè)類(lèi)的實(shí)例化延遲到其子類(lèi)。

  結(jié)構(gòu)圖

  生活中的例子

  工廠方法定義一個(gè)用于創(chuàng)建對(duì)象的接口,但是讓子類(lèi)決定實(shí)例化哪個(gè)類(lèi)。壓注成型演示了這種模式。塑料玩具制造商加工塑料粉,將塑料注入到希望形狀的模具中。玩具的類(lèi)別(車(chē),人物等等)是由模具決定的。

  工廠方法解說(shuō)

  在工廠方法模式中,核心的工廠類(lèi)不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建工作交給子類(lèi)去做。這個(gè)核心類(lèi)僅僅負(fù)責(zé)給出具體工廠必須實(shí)現(xiàn)的接口,而不接觸哪一個(gè)產(chǎn)品類(lèi)被實(shí)例化這種細(xì)節(jié)。這使得工廠方法模式可以允許系統(tǒng)在不修改工廠角色的情況下引進(jìn)新產(chǎn)品。在Factory Method模式中,工廠類(lèi)與產(chǎn)品類(lèi)往往具有平行的等級(jí)結(jié)構(gòu),它們之間一一對(duì)應(yīng)。

  現(xiàn)在我們考慮一個(gè)日志記錄的例子(這里我們只是為了說(shuō)明Factory Method模式,實(shí)際項(xiàng)目中的日志記錄不會(huì)這么去做,也要比這復(fù)雜一些)。假定我們要設(shè)計(jì)日志記錄的類(lèi),支持記錄的方法有FileLog和EventLog兩種方式。在這里我們先不談設(shè)計(jì)模式,那么這個(gè)日志記錄的類(lèi)就很好實(shí)現(xiàn)了:

 1/// 
 2/// 日志記錄類(lèi)
 3/// 
 4public class Log
 5    {
 6
 7        public void WriteEvent()
 8        {
 9            Console.WriteLine("EventLog Success!");
10        }
11    
12        public void WriteFile()
13        {
14            Console.WriteLine("FileLog Success!");
15        }
16
17        public void Write(string LogType)
18        {
19            switch(LogType.ToLower())
20            {
21                case "event":
22                    WriteEvent();
23                    break;
24
25                case "file":
26                    WriteFile();
27                    break;
28
29                default:
30                    break;
31            }
32        }
33    }
34

NET技術(shù).NET設(shè)計(jì)模式:工廠方法模式(Factory Method),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人av免费播放 | 国产一区二区三区在线视频 | 国产成人精品免费视频大全最热 | 人人看人人爽 | 91成人免费观看 | 天天噜天天干 | 国产免费一级片 | 欧美性生活网 | 国产精品一区二区在线 | 亚洲人人 | 一级欧美一级日韩片免费观看 | 日韩免费高清视频 | 99久久精品国产一区二区三区 | 精品国产乱码一区二区三区a | 午夜精品在线观看 | 国产精品小视频在线观看 | www.嫩草 | www.av7788.com | 中文字幕av第一页 | 91精品在线播放 | 国产精品视频www | 日韩欧美中文 | 日韩一区二区三区在线播放 | 一区二区在线不卡 | 国产美女久久 | 亚洲色综合 | 国产一区二区三区色淫影院 | 99热视| 欧美精品区 | 观看av| 午夜小视频在线播放 | 亚洲欧美日韩精品久久亚洲区 | av成年人网站 | 欧美国产精品久久久 | 亚洲伊人久久综合 | 久久精品成人 | 天天艹天天干天天 | 蜜臀久久 | 亚洲性人人天天夜夜摸 | 国产高清一区二区三区 | av网站免费 |