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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

java设计模式之简单工厂模式

發布時間:2023/12/31 asp.net 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java设计模式之简单工厂模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

定義:
由一個工廠對象決定創建出哪一種產品類的實例
類型:屬于創建型,但不屬于GOF23中設計模式

工廠模式分為三種:
1、簡單工廠模式(靜態工廠方法模式)
2、工廠方法模式(多態性工廠模式)
3、抽象工廠模式(工具箱模式)

適用場景:
工廠類負責創建的對象比較少。
客戶端(應用層)只知道傳入工廠類的參數,對于如何創建對象(邏輯)不關心。

優點:
只需要傳入一個正確的參數,就可以獲取你所需要的對象,而無需知道其創建細節。

缺點:
工廠類的職責相對過重,增加新的產品,需要修改工廠類的判斷邏輯,違背開閉原則。

Coding:
場景:例如課程網上有java的視頻,有Python的視頻,前端的視頻
首先創建一個video視頻抽象類

創建java的視頻實現類JavaVideo類:

創建Python的視頻實現類PythonVideo類:

創建一個Test測試類(應用層也就是客戶端):

創建工廠類VideoFactory

修改Test類中如下

類圖如下:

Test只依賴VideoFactory這個類,具體的生產過程都在VideoFactory這個類中,Test只管使用。
這就是簡單工廠
接下來看一看簡單工廠有什么缺點,比如我們現在要加一個算法的課程,那我們就需要修改VideoFactory這個類,隨著課程不斷的增加我們就需要不斷地去修改工廠類,修改就會帶來風險,所以簡單工廠并不符合開閉原則,不易擴展。
我們可以通過反射來彌補簡單工廠的不易擴展性。
首先修改VideoFactory類

修改Test類如下

這就解決了簡單工廠的不易擴展性,即使有新的課程,只需要創建新的課程類就可以。

總結

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

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