摘要:簡單工廠模式的實質是由一個工廠類根據傳入的參數,動態決定應該創建哪一個產品類。中的就是簡單工廠模式的體現,根據傳入一個唯一的標識來獲得對象,但是否是在傳入參數后創建還是傳入參數前創建這個要根據具體情況來定。
Spring中常用的設計模式 常用的設計模式(23種)如下
創建型:
工廠方法模式Factory Method,抽象工廠模式Abstract Factory 建造者模式Builder,原型模式Prototype,單例模式Singleton
結構型:
適配器模式Adapter,橋接模式Bridge,組合模式Composite 裝飾者模式Decorator,門面模式Facade,亨元模式Flyweight, 代理模式Proxy
行為型:
解釋器模式Interpreter,模板方法模式Template Method, 責任鏈模式Chain of Responsibility,命令模式Commond 迭代器模式Iterator,調解者模式Mediator,備忘錄模式Memento, 觀察者模式Observer,狀態模式State,策略模式Strategy, 訪問者模式Visitor
設計模式在應用中遵循六大原則
開閉原則
定義:對擴展開放,對修改關閉。為了使程序的擴展性好,易于維護和升級。
想要達到這樣效果,我們需要使用接口和抽象類。
李氏代換原則
定義:里氏代換原則中說,任何基類可以出現的地方,子類一定可以出現。
LSP 是繼承復用的基石,只有當衍生類可以替換掉基類,軟件單位的 功能不受到影響時,基類才能真正被復用,而衍生類也能夠在基類的基 礎上增加新的行為。里氏代換原則是對“開-閉”原則的補充。實現“開- 閉”原則的關鍵步驟就是抽象化。而基類與子類的繼承關系就是抽象化的 具體實現,所以里氏代換原則是對實現抽象化的具體步驟的規范。
依賴倒閉原則
定義:是開閉原則的基礎,具體內容:針對接口編程,依賴于抽象而不依賴于
具體。
接口隔離原則
定義;使用多個隔離的接口,比使用單個接口要好。還是一個降低類之間的耦
合度的意思,從這兒我們看出,其實設計模式就是一個軟件的設計思 想,從大型軟件架構出發,為了升級和維護方便。所以上文中多次出 現:降低依賴,降低耦合。
迪米特法則
定義:一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能
模塊相對獨立。
合成復用原則
定義:是盡量使用合成/聚合的方式,而不是使用繼承。
簡單工廠模式
應用場景:又叫做靜態工廠方法(StaticFactory Method)模式,但不屬于
23 種設計模式之一。簡單工廠模式的實質是由一個工廠類根據傳 入的參數,動態決定應該創建哪一個產品類。 Spring 中的 BeanFactory 就是簡單工廠模式的體現,根據傳入 一個唯一的標識來獲得 Bean 對象,但是否是在傳入參數后創建還 是傳入參數前創建這個要根據具體情況來定。
歸類 特點 窮舉
創建型模式 是復雜工廠模式的思維模型 批量生產,標準化
工廠方法模式
應用場景:通常由應用程序直接使用 new 創建新的對象,為了將對象的創建
和使用相分離,采用工廠模式,即應用程序將對象的創建及初始化 職責交給工廠對象。 一般情況下,應用程序有自己的工廠對象來創建 Bean.如果將應用 程序自己的工廠對象交給 Spring 管理,那么 Spring 管理的就不 是普通的 Bean,而是工廠 Bean。
歸類 特點 窮舉
創建型模式 對于調用者來說,隱藏了復雜的邏輯處理過程, 流水線生產
調用者只關心執行結果。 對于工廠來說要對結果負責,保證生產出符合 規范的產品。
抽象工廠模式
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76628.html
摘要:哪吒社區技能樹打卡打卡貼函數式接口簡介領域優質創作者哪吒公眾號作者架構師奮斗者掃描主頁左側二維碼,加入群聊,一起學習一起進步歡迎點贊收藏留言前情提要無意間聽到領導們的談話,現在公司的現狀是碼農太多,但能獨立帶隊的人太少,簡而言之,不缺干 ? 哪吒社區Java技能樹打卡?【打卡貼 day2...
摘要:提升自己,方便他人。其實一份文檔,說到底是為自己減輕工作量??偨Y總結起來,我們在提供一個通用包的時候,應該考慮以下七個點文檔。支持的類反射獲取參數名面向接口編程。一個注解,快速整合 聲明:本文屬原創文章,首發于公號程序員自學之道,轉載請注明出處 遇到槽點 開發實踐中,對于開發一個 jar 包,很多人都只是完成功能,只要功能使用沒問題,就算是完事了,但其實遠遠不夠。當用戶使用 jar 包...
摘要:時間年月日星期日說明本文部分內容均來自慕課網。這對所有形態的工廠模式都是重要的這個系統的產品有至少一個的產品族同屬于一個產品族的產品是設計成在一起使用的。 時間:2017年08月27日星期日說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學源碼:https://github.com/zccodere/s...學習源碼:https://github.c...
摘要:會一直完善下去,歡迎建議和指導,同時也歡迎中用到了那些設計模式中用到了那些設計模式這兩個問題,在面試中比較常見。工廠設計模式使用工廠模式可以通過或創建對象。 我自己總結的Java學習的系統知識點以及面試問題,已經開源,目前已經 41k+ Star。會一直完善下去,歡迎建議和指導,同時也歡迎Star: https://github.com/Snailclimb... JDK 中用到了那...
摘要:學習總結學習整理的一些筆記,很簡單。大部分認為和只是不同的叫法而已。依賴注入的兩種方式和注解使用注釋驅動的功能源碼剖析 Spring IoC學習總結 學習spring Ioc整理的一些筆記,很簡單。分享給大家。 IoC 基本概念 在這之前,我們先記住一句話。好萊塢原則:Dont call us, we will call you.其實這句話很恰當地形容了反轉的意味;Ioc, Inve...
閱讀 2949·2021-11-23 09:51
閱讀 1666·2021-10-15 09:39
閱讀 1056·2021-08-03 14:03
閱讀 2880·2019-08-30 15:53
閱讀 3437·2019-08-30 15:52
閱讀 2487·2019-08-29 16:17
閱讀 2788·2019-08-29 16:12
閱讀 1647·2019-08-29 15:26