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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

工厂方法模式(Factory Method Pattern)

發布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工厂方法模式(Factory Method Pattern) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

水果店開業在即,小明需要去進貨,考慮到水果的種類和成本問題決定先去探訪一下貨源和價格,小明發現蘋果在A商那邊便宜2毛,西瓜在Z商那邊便宜3毛,榴蓮在C商那邊便宜4毛。這里每一個商販是一個工廠,每個工廠提供不同的水果,下面我們來介紹工廠方法模式

工廠方法模式(Factory Method Pattern):定義一個用于創建對象的接口,但是讓子類決定哪一個類實例化,工廠方法模式讓一個類的實例化延遲到其子類。

工廠方法模式是一個創建型模式,下面我們來看看他的結構圖:

工廠方法的實現:

Product(抽象產品):定義產品的接口,是所有產品對象的公共父類

interface Product {void TestMethod(); }

Concrete Product(具體產品):實現抽象產品的具體產品

class ConcreteProduct : Product {public void TestMethod(){Console.WriteLine("Hello World!");} }

Factory(抽象工廠):定義工廠的接口,它是工廠方法的核心所有的工廠都必須實現抽象工廠,并且返回產品

interface Factory {Product FactoryMethod(); }

Concrete Factory(具體工廠):實現抽象工廠的具體工廠

class ConcreteFactory : Factory {public Product FactoryMethod(){return new ConcreteProduct();} }

具體調用實現:

Factory factory = new ConcreteFactory(); Product product = factory.FactoryMethod(); product.TestMethod();

工廠方法的優點:

1.工廠方法用來創建客戶所需的產品,同時還向客戶隱藏了具體產品實例化的細節

2.擴展性好符合開閉原則,新增一個具體產品或者具體工廠無需修改代碼,只需要添加到工廠即可

工廠方法的缺點:

1.每添加一種產品需要提供對應的工廠類,系統中的類成對增加,系統在編譯的時候會增加額外的開銷

2.增加了系統的抽象性和理解難度

適用環境

1.客戶端不知道它所需的對象的類

2.抽象工廠類通過其子類制定創建哪個對象

?

?

總結

以上是生活随笔為你收集整理的工厂方法模式(Factory Method Pattern)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。