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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

抽象工厂模式的应用

發(fā)布時間:2023/12/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 抽象工厂模式的应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

抽象工廠模式廣泛用于軟件開發(fā)過程中。《設(shè)計模式:可復(fù)用面向?qū)ο筌浖幕A(chǔ)》指出抽象工廠模式的意圖在于提供一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。該模式適用于以下情況:

(1)??? 一個系統(tǒng)要獨立于它的產(chǎn)品創(chuàng)建、組合和表示時;

(2)??? 一個系統(tǒng)要由多個產(chǎn)品系列中的一個來配置時;

(3)??? 當(dāng)你要強調(diào)一系列相關(guān)的產(chǎn)品對象的設(shè)計以便進(jìn)行聯(lián)合使用時;

(4)??? 當(dāng)你提供一個產(chǎn)品類庫,而只想顯示它們的接口而不是實現(xiàn)時。

該模式將得到以下效果:

(1)??? 它分離了具體的類;

(2)??? 它使得易于交換產(chǎn)品系列;

(3)??? 它有利于產(chǎn)品的一致性;

但是,同時該模式難以支持新種類的產(chǎn)品,這是因為AbstractFactory接口確定了可以被創(chuàng)建的產(chǎn)品的集合。支持新種類的產(chǎn)品就需要擴展該工廠接口,這將涉及AbstractFactory類及其所有子類的改變。所以我們對該模式結(jié)構(gòu)進(jìn)行了一些修改,修改后結(jié)構(gòu)類圖如下:


而軟件對接口顯示類的實例化過程交給界面顯示類工廠類(UserControlFactory),“工廠”則根據(jù)“Interface-ConcreteClass Map”提供的數(shù)據(jù),自動創(chuàng)建軟件所需的界面顯示類實例。如此,只需更改配置文件而不需要修改代碼就可以實現(xiàn)對“組件X”到“組件Y”的切換,將大大簡化開發(fā)的工作量。

“Interface-ConcreteClass Map”的來源,可以從兩個方面獲取:配置文件、具體類特性標(biāo)記。

1)通過配置文件獲取“接口-類”鍵值對數(shù)據(jù)內(nèi)容方法如下:

(1)配置文件內(nèi)容如下:


(2)獲取配置文件數(shù)據(jù)方法


2)通過程序集類的特性標(biāo)記獲取“接口-類”鍵值對數(shù)據(jù)內(nèi)容方法如下:


3)通過接口類型創(chuàng)建對象實例函數(shù)如下


總結(jié)

以上是生活随笔為你收集整理的抽象工厂模式的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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