C 設計模式 工廠方法模式

2021-10-07 05:13:19 字數 1286 閱讀 5443

優點:

1 可擴充套件 ,加入新產品時,無需對原**進行修改,只需在專案空間中新增實現介面的類即可

2 工廠可以自主設計產品,並且如何建立產品的細節全部在工廠內部,也叫多型工廠模式

3 包含抽象產品,具體產品 ,抽象工廠,具體工廠

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using system.configuration;

using system.reflection;

namespace factorymothod

//具體產品a

class

concreatemethoda

: product

public

void

methoddisplay()

}//具體產品b

class

concreatemethodb

: product

public

void

methoddisplay()

}//抽象工廠

inte***ce

factory

//具體工廠a

class

concreatefactorya

:factory

}//具體工廠b

class

concreatefactoryb

:factory

}class

program

}}

配置檔案

<

?xml version=

"1.0" encoding=

"utf-8"

?>

<

add key=

"factoryname"

value

="factorymothod.concreatefactorya"

/>

<

"v4.0" sku=

".netframework,version=v4.5.2"

/>

<

/startup>

<

/configuration>

object obj = assmbly.load(「程式集名」).createinstance("程式集名.類「);

C 設計模式 工廠方法模式

問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...

C 設計模式 工廠方法模式

問題描述 之前講到了c 設計模式 簡單工廠模式,由於簡單工廠模式的侷限性,比如 工廠現在能生產producta productb和productc三種產品了,此時,需要增加生產productd產品 那麼,首先是不是需要在產品列舉型別中新增新的產品型別標識,然後,修改factory類中的switch結...

C 設計模式 工廠方法模式

abstract class product class concreteproducta product class concreteproductb product abstract class factory class concreteafactory factory class concr...