在java培訓(xùn)的過程中,我們需要了解到關(guān)于java的設(shè)計模式,下面是石家莊java培訓(xùn)介紹的關(guān)于java設(shè)計模式的相關(guān)介紹。
成都創(chuàng)新互聯(lián)公司專注于慶云企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,商城網(wǎng)站建設(shè)。慶云網(wǎng)站建設(shè)公司,為慶云等地區(qū)提供建站服務(wù)。全流程按需定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
1、橋梁模式(Bridge):將抽象部分與它的實現(xiàn)部分分離,使它們都可以獨(dú)立地變化。
2、合成模式(Composite):將對象組合成樹形結(jié)構(gòu)以表示"部分-整體"的層次結(jié)構(gòu)。
它使得客戶對單個對象和復(fù)合對象的使用具有一致性。
3、抽象工廠模式(AbstractFactory):提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無需指定它們具體的類。
4、裝飾模式(Decorator):動態(tài)地給一個對象添加一些額外的職責(zé)。
就擴(kuò)展功能而言,它能生成子類的方式更為靈活。
5、適配器模式(Adapter):將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。
適配器模式使得原本由于接口或類不兼容而不能一起工作的類可以一起工作。
6、責(zé)任鏈模式(ChainofResponsibility):為解除請求的發(fā)送者和接收者之間耦合,而使多個對象都有機(jī)會處理這個請求。
將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有一個對象處理它。
7、工廠方法(FactoryMethod):定義一個用于創(chuàng)建對象的接口,讓子類決定將哪一個類實例化。
FactoryMethod使一個類的實例化延遲到其子類。
8、建造模式(Builder):將一個復(fù)雜對象的構(gòu)建與它的表示分離,使同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
9、門面模式(Facade):為子系統(tǒng)中的一組接口提供一個一致的界面,門面模式定義了一個高層接口,這個接口使得這一子系統(tǒng)更加容易使用。
10、命令模式(Command):將一個請求封裝為一個對象,從而可用不同的請求對客戶進(jìn)行參數(shù)化;對請求排隊或記錄請求日志,以及支持可取消的操作。
JAVA中使用設(shè)計模式寫代碼能使代碼重用、直觀、可靠,共有23種設(shè)計模式,分別是:
創(chuàng)建型模式:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式;
結(jié)構(gòu)型模式:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式;
行為型模式:策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、中介者模式、解釋器模式,
隨著我們對Java編程開發(fā)語言的掌握,對于不同場景下使用哪種設(shè)計模式會有更清晰的判斷。
下面IT培訓(xùn)就一起來了解一下,JavaScript編程中的幾種常見設(shè)計模式都有哪些類型。
設(shè)計原則單一職責(zé)原則(SRP)一個對象或方法只做一件事情。
如果一個方法承擔(dān)了過多的職責(zé),那么在需求的變遷過程中,需要改寫這個方法的可能性就越大。
應(yīng)該把對象或方法劃分成較小的粒度少知識原則(LKP)一個軟件實體應(yīng)當(dāng)盡可能少地與其他實體發(fā)生相互作用應(yīng)當(dāng)盡量減少對象之間的交互。
如果兩個對象之間不必彼此直接通信,那么這兩個對象就不要發(fā)生直接的相互聯(lián)系,可以轉(zhuǎn)交給三方進(jìn)行處理開放-封閉原則(OCP)軟件實體(類、模塊、函數(shù))等應(yīng)該是可以擴(kuò)展的,但是不可修改當(dāng)需要改變一個程序的功能或者給這個程序增加新功能的時候,可以使用增加代碼的方式,盡量避免改動程序的源代碼,防止影響原系統(tǒng)的穩(wěn)定什么是設(shè)計模式作者的這個說明解釋得挺好假設(shè)有一個空房間,我們要日復(fù)一日地往里面放一些東西。
簡單的辦法當(dāng)然是把這些東西直接扔進(jìn)去,但是時間久了,就會發(fā)現(xiàn)很難從這個房子里找到自己想要的東西,要調(diào)整某幾樣?xùn)|西的位置也不容易。
所以在房間里做一些柜子也許是個更好的選擇,雖然柜子會增加我們的成本,但它可以在維護(hù)階段為我們帶來好處。
使用這些柜子存放東西的規(guī)則,或許就是一種模式
對于代碼結(jié)構(gòu)上,看起來漂亮起作用的模式,常用的策略模式,工廠模式,裝飾模式和觀察者模式吧。但也看情景,生搬硬套會顯得不夠簡潔的
設(shè)計模式主要分三個類型:創(chuàng)建型、結(jié)構(gòu)型和行為型。
其中創(chuàng)建型有:
一、Singleton,單例模式:保證一個類只有一個實例,并提供一個訪問它的全局訪問點(diǎn)
二、Abstract Factory,抽象工廠:提供一個創(chuàng)建一系列相關(guān)或相互依賴對象的接口,而無須指定它們的具體類。
三、Factory Method,工廠方法:定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類,F(xiàn)actory Method使一個類的實例化延遲到了子類。
四、Builder,建造模式:將一個復(fù)雜對象的構(gòu)建與他的表示相分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
五、Prototype,原型模式:用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型來創(chuàng)建新的對象。
行為型有:
六、Iterator,迭代器模式:提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內(nèi)部表示。
七、Observer,觀察者模式:定義對象間一對多的依賴關(guān)系,當(dāng)一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知自動更新。
八、Template Method,模板方法:定義一個操作中的算法的骨架,而將一些步驟延遲到子類中,TemplateMethod使得子類可以不改變一個算法的結(jié)構(gòu)即可以重定義該算法得某些特定步驟。
九、Command,命令模式:將一個請求封裝為一個對象,從而使你可以用不同的請求對客戶進(jìn)行參數(shù)化,對請求排隊和記錄請求日志,以及支持可撤銷的操作。
十、State,狀態(tài)模式:允許對象在其內(nèi)部狀態(tài)改變時改變他的行為。對象看起來似乎改變了他的類。
十一、Strategy,策略模式:定義一系列的算法,把他們一個個封裝起來,并使他們可以互相替換,本模式使得算法可以獨(dú)立于使用它們的客戶。
十二、China of Responsibility,職責(zé)鏈模式:使多個對象都有機(jī)會處理請求,從而避免請求的送發(fā)者和接收者之間的耦合關(guān)系
十三、Mediator,中介者模式:用一個中介對象封裝一些列的對象交互。
十四、Visitor,訪問者模式:表示一個作用于某對象結(jié)構(gòu)中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用于這個元素的新操作。
十五、Interpreter,解釋器模式:給定一個語言,定義他的文法的一個表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
十六、Memento,備忘錄模式:在不破壞對象的前提下,捕獲一個對象的內(nèi)部狀態(tài),并在該對象之外保存這個狀態(tài)。
結(jié)構(gòu)型有:
十七、Composite,組合模式:將對象組合成樹形結(jié)構(gòu)以表示部分整體的關(guān)系,Composite使得用戶對單個對象和組合對象的使用具有一致性。
十八、Facade,外觀模式:為子系統(tǒng)中的一組接口提供一致的界面,fa?ade提供了一高層接口,這個接口使得子系統(tǒng)更容易使用。
十九、Proxy,代理模式:為其他對象提供一種代理以控制對這個對象的訪問
二十、Adapter,適配器模式:將一類的接口轉(zhuǎn)換成客戶希望的另外一個接口,Adapter模式使得原本由于接口不兼容而不能一起工作那些類可以一起工作。
二十一、Decrator,裝飾模式:動態(tài)地給一個對象增加一些額外的職責(zé),就增加的功能來說,Decorator模式相比生成子類更加靈活。
二十二、Bridge,橋模式:將抽象部分與它的實現(xiàn)部分相分離,使他們可以獨(dú)立的變化。
二十三、Flyweight,享元模式
Java中的23種設(shè)計模式:
Factory(工廠模式),
Builder(建造模式),
Factory
Method(工廠方法模式),
Prototype(原始模型模式),Singleton(單例模式),
Facade(門面模式),
Adapter(適配器模式),
Bridge(橋梁模式),
Composite(合成模式),
Decorator(裝飾模式),
Flyweight(享元模式),
Proxy(代理模式),
Command(命令模式),
Interpreter(解釋器模式),
Visitor(訪問者模式),
Iterator(迭代子模式),
Mediator(調(diào)停者模式),
Memento(備忘錄模式),
Observer(觀察者模式),
State(狀態(tài)模式),
Strategy(策略模式),
Template
Method(模板方法模式),
Chain
Of
Responsibleity(責(zé)任鏈模式)
工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實現(xiàn)的類可以根據(jù)提供的數(shù)據(jù)生成一組類中某一個類的實例,通常這一組類有一個公共的抽象父類并且實現(xiàn)了相同的方法,但是這些方法針對不同的數(shù)據(jù)進(jìn)行了不同的操作。首先需要定義一個基類,該類的子類通過不同的方法實現(xiàn)了基類中的方法。然后需要定義一個工廠類,工廠類可以根據(jù)條件生成不同的子類實例。當(dāng)?shù)玫阶宇惖膶嵗?,開發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是哪一個子類的實例。