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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【设计模式】工厂方法模式

發布時間:2024/1/1 asp.net 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【设计模式】工厂方法模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

設計模式總結鏈接



  工廠方法模式是類的創建模式,又叫做虛擬構造子(Virtual Constructor)模式或者多態性工廠(Polymorphic Factory)模式。
  工廠方法模式的用意是定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類中


一。簡解

工廠方法模式是在簡單工廠模式基礎上做了一點改進,生產某一類方法的工廠,不僅僅局限于某個(簡單工廠模式是生產某個)。


二。用途
主要是用來根據需求生產某一類產品,進一步實現對象創建和使用之間的解耦,通過接口或者抽象類的方式去實現不同對象的相同調用(此處涉及面向對象的里氏代換原則),比起簡單工廠模式適應性更廣,更易實現同類產品的擴展。


三。實例</font>

用戶需要某種產品,通過工廠類生產某種產品,將這種產品抽象為接口,擴展時可以通過實現接口進行擴展。

測試類

package zsl.工廠方法模式;public class Main {public static void main(String[] args) {ProdectFactory myFactory = new ProdectFactory();Prodect prodect = myFactory.prodectInstance("我要的產品");prodect.sayName();}}

產品接口類

package zsl.工廠方法模式;public interface Prodect {/*** 說出該產品的名字*/public void sayName(); }

產品工廠類

package zsl.工廠方法模式;public class ProdectFactory {/*** 根據需求生產一個產品* @param name* @return*/public Prodect prodectInstance(String name){return new ProdectInstance(name);} }

產品實類

package zsl.工廠方法模式;public class ProdectInstance implements Prodect{private String name;public ProdectInstance(String name) {this.name = name;}/*** 實現接口的方法*/@Overridepublic void sayName() {System.out.println(this.name);}}

四。優點

首先工廠方法基本繼承了簡單工廠的優點(除了簡單,這可是簡單工廠獨有的特征 (∩_∩))
其次,工廠方法加入了生產一類的產品功能,這個相當于是對簡單工廠中實例進行了一種接口的封裝,對外提供接口訪問,進一步實現了,使用、實現和生產之間的解耦。
加入接口的封裝,極大的提高了對某類產品的擴展性


五。不足

生產一類產品,什么意思,對于不同類產品的生產不是很方便,這也是這個模式的一點小不足之處。不足歸不足,達到需求就好了,想用好的,是要代價的。


工廠方法模式,抽象工廠模式,簡單工廠模式,三者區別

總結

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

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