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