C 基礎 簡單工廠設計模式

2022-01-15 20:53:05 字數 1226 閱讀 5135

根據實際開發經驗設計出來的程式搭建框架,可以較好的解決一些開發中遇到的問題。

常見設計模式有23種。如簡單工廠設計模式、抽象工廠設計模式、單例設計模式等,目前學習前兩種模式。

問題引入:

接到新的開發需求,設計多種報表,如excel報表、word報表或其他報表,我們可以根據每家公司的需求,去讓程式實現該公司所使用的的報表。問題是,如何能最簡單快速的使程式選擇相應的報表形式呢?

簡單工廠概念:

通過「簡單工廠」這樣的形式,來根據實際需求建立我們所選擇的介面的實現類,從而實現乙個選擇功能。

**示例:

先建立介面

namespace

samplefactorydemo

}

建立介面實現類

namespace

samplefactorydemo}}

namespace

samplefactorydemo}}

<?xml version="

1.0" encoding="

utf-8

" ?>

建立報表工廠,注意system.configuration引用的新增

using

system.configuration;

namespace

samplefactorydemo

return

objreport;}}

}

program

namespace

samplefactorydemo}}

總結:問題引入:

以上需求實現,我們發現乙個問題:每次當我們新增新報表型別時,都需要去修改-新增reportfactory,這明顯不符合「開-閉原則」---「開放擴充套件,封閉修改」。

問題解決:

使用反射機制來優化以上程式。反射介紹:

修改reportfactory:

public

static

ireport choosereporttype()

注意:引入system.reflection;load()裡面是命名空間名稱,createinstance()裡面是完全限定名:命名空間.類名。

設計模式 簡單工廠模式(C )

一.簡單工廠模式又稱靜態工廠方法模式 static factory method 它不是gof 所講的23種設計模式之一,但是它卻是我們在編碼過程中經常使用的方法之一。1.靜態工廠方法統一管理物件的建立。靜態工廠方法通過傳入的引數判斷決定建立哪乙個產品的例項,封裝了物件的建立,客戶端只管消費,實現了...

C 設計模式 簡單工廠模式

從設計模式的型別上來說,簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種 gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實...

C 設計模式 簡單工廠模式

問題描述 之前在公司做了乙個windows 8平台的閱讀器。首先,需要將電子書中的內容渲染到螢幕上,而電子書每一頁都包含各種各樣的內容,比如 圖形 影象和文字等等 不同的內容,就是不同的物件 在將不同的內容渲染到螢幕上之前,就需要new操作,建立不同的物件,然後再在螢幕上進行描繪。這個時候,就需要進...