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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

『设计模式』HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业?

發布時間:2023/12/15 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 『设计模式』HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

23種設計模式+額外常用設計模式匯總 (持續更新)越是簡單的東西,越是容易被忽略,我來帶你們好復習一下!

簡單工廠模式

簡單工廠模式也被稱為靜態工廠模式;使用簡單工廠模式可以將產品的“消費”和生產完全分開,客戶端只需要知道自己需要什么產品,如何來使用產品就可以了,具體的產品生產任務由具體的工廠類來實現。工廠類根據傳進來的參數生產具體的產品供消費者使用。這種模式使得更加利于擴展,當有新的產品加入時僅僅需要在工廠中加入新產品的構造就可以了。

優點
  • 工廠類含有必要的判斷邏輯,可以決定在什么時候創建哪一個產品類的實例,客戶端與產品的創建分離,客戶端可以免除直接創建產品對象的責任,不需要知道產品創建的邏輯,而僅僅工廠類含有必要的判斷邏輯,可以決定在什么時候創建哪一個產品類的實例,客戶端可以免除直接創建產品對象的責任,而僅僅"消費消費"產品。簡單工廠模式通過這種做法實現了對責任的分割。
缺點
  • 當產品有復雜的多層等級結構時,工廠類只有自己,以不變應萬變,就是模式的缺點。因為工廠類集中了所有產品創建邏輯,一旦不能正常工作,整個系統都要受到影響。當產品有復雜的多層等級結構時,工廠類只有自己,以不變應萬變,就是模式的缺點。因為工廠類集中了所有產品創建邏輯,一旦不能正常工作,整個系統都要受到影響。
  • 同時,系統擴展困難,一旦添加新產品就不得不修改工廠邏輯,有可能造成工廠邏輯過于復雜。同時,系統擴展困難,一旦添加新產品就不得不修改工廠邏輯,有可能造成工廠邏輯過于復雜。
  • 另外,簡單工廠模式通常使用靜態工廠方法,這使得無法由子類繼承,造成工廠角色無法形成基于繼承的等級結構
  • 工廠類集成了所有產品的創建邏輯,當工廠類出現問題,所有產品都會出現問題;還有當新增加產品都會修改工廠類,違背開閉原則
使用場景
  • 如果想要完全封裝隔離具體實現,讓外部只能通過接口來操作封裝體,則可以選用簡單工廠。讓客戶端通過工廠來獲取相應的接口,而無需關心具體的實現。
  • 如果想要把對外創建對象的職責集中管理
    和控制,可以選用簡單工廠

實現

簡單工廠模式的構成

具體的工廠角色:Factory;在工廠中可以調用方法生產出具體的某個類型的產品;
抽象的產品角色:Father_Product;在抽象產品類型中可以聲明抽象接口,在具體的產品類中實現;
具體的產品角色:Ex_Product_1 和Ex_Product_2;在具體的類中必須實現抽象類的接口,也可以實現自己的業務邏輯。

簡單工廠模式的UML

代碼實現

別詬病我這中文寫代碼,問就是不是做項目,這樣更容易知道自己寫的啥!

package 簡單工廠模式;public abstract class Father_Product { //定義產品的父類String Attribute; //產品必備屬性public abstract void Method(); //產品的功能 } package 簡單工廠模式;public class Ex_Product_1 extends Father_Product {@Overridepublic void Method() {System.out.println("我是第一種產品,這是我的功能");}} package 簡單工廠模式;public class Ex_Product_2 extends Father_Product {@Overridepublic void Method() {System.out.println("我是第二種產品,這是我的功能");}} package 簡單工廠模式;public class Factory {public Father_Product createProduct(String productName) {Father_Product product = null;switch(productName){case "1":product = new Ex_Product_1();//生產產品1break;case "2":product = new Ex_Product_2();//生產產品2break;default:break;}return product;} }





寫在最后:
我叫風骨散人,名字的意思是我多想可以不低頭的自由生活,可現實卻不是這樣。家境貧寒,總得向這個世界低頭,所以我一直在奮斗,想改變我的命運給親人好的生活,希望同樣被生活綁架的你可以通過自己的努力改變現狀,深知成年人的世界里沒有容易二字。目前是一名在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!
如果有什么想看的,可以私信我,如果在能力范圍內,我會發布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!

總結

以上是生活随笔為你收集整理的『设计模式』HR问了我朋友什么是简单工厂模式,竟被质疑是否学过设计模式,是否是计算机专业?的全部內容,希望文章能夠幫你解決所遇到的問題。

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