java進階篇設計模式之九,java 設計模式

本文目錄一覽:

IT培訓分享Java常見設計模式

正常情況下一個設計模式描述了一個被證實可行的方案。這些方案非常普遍,是具有完整定義的最常用的模式。IT培訓認為一般模式有4個基本要素:模式名稱(patternname)、問題(problem)、解決方案(solution)、效果(consequences)。常見的Java設計模式有以下10種:

1、橋樑模式(Bridge):將抽象部分與它的實現部分分離,使它們都可以獨立地變化。

2、合成模式(Composite):將對象組合成樹形結構以表示”部分-整體”的層次結構。它使得客戶對單個對象和複合對象的使用具有一致性。

3、抽象工廠模式(AbstractFactory):提供一個創建一系列相關或相互依賴對象的介面,而無需指定它們具體的類。

4、裝飾模式(Decorator):動態地給一個對象添加一些額外的職責。就擴展功能而言,它能生成子類的方式更為靈活。

5、適配器模式(Adapter):將一個類的介面轉換成客戶希望的另外一個介面。適配器模式使得原本由於介面或類不兼容而不能一起工作的類可以一起工作。

6、責任鏈模式(ChainofResponsibility):為解除請求的發送者和接收者之間耦合,而使多個對象都有機會處理這個請求。將這些對象連成一條鏈,並沿著這條鏈傳遞該請求,直到有一個對象處理它。

7、工廠方法(FactoryMethod):定義一個用於創建對象的介面,讓子類決定將哪一個類實例化。FactoryMethod使一個類的實例化延遲到其子類。

8、建造模式(Builder):將一個複雜對象的構建與它的表示分離,使同樣的構建過程可以創建不同的表示。

9、門面模式(Facade):為子系統中的一組介面提供一個一致的界面,門面模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。

10、命令模式(Command):將一個請求封裝為一個對象,從而可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支持可取消的操作。

java設計模式都有哪些?

設計模式主要分三個類型:創建型、結構型和行為型。

其中創建型有:

一、Singleton,單例模式:保證一個類只有一個實例,並提供一個訪問它的全局訪問點

二、Abstract Factory,抽象工廠:提供一個創建一系列相關或相互依賴對象的介面,而無須指定它們的具體類。

三、Factory Method,工廠方法:定義一個用於創建對象的介面,讓子類決定實例化哪一個類,Factory Method使一個類的實例化延遲到了子類。

四、Builder,建造模式:將一個複雜對象的構建與他的表示相分離,使得同樣的構建過程可以創建不同的表示。

五、Prototype,原型模式:用原型實例指定創建對象的種類,並且通過拷貝這些原型來創建新的對象。

行為型有:

六、Iterator,迭代器模式:提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內部表示。

七、Observer,觀察者模式:定義對象間一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知自動更新。

八、Template Method,模板方法:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,TemplateMethod使得子類可以不改變一個演算法的結構即可以重定義該演算法得某些特定步驟。

九、Command,命令模式:將一個請求封裝為一個對象,從而使你可以用不同的請求對客戶進行參數化,對請求排隊和記錄請求日誌,以及支持可撤銷的操作。

十、State,狀態模式:允許對象在其內部狀態改變時改變他的行為。對象看起來似乎改變了他的類。

十一、Strategy,策略模式:定義一系列的演算法,把他們一個個封裝起來,並使他們可以互相替換,本模式使得演算法可以獨立於使用它們的客戶。

十二、China of Responsibility,職責鏈模式:使多個對象都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關係

十三、Mediator,中介者模式:用一個中介對象封裝一些列的對象交互。

十四、Visitor,訪問者模式:表示一個作用於某對象結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。

十五、Interpreter,解釋器模式:給定一個語言,定義他的文法的一個表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。

十六、Memento,備忘錄模式:在不破壞對象的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。

結構型有:

十七、Composite,組合模式:將對象組合成樹形結構以表示部分整體的關係,Composite使得用戶對單個對象和組合對象的使用具有一致性。

十八、Facade,外觀模式:為子系統中的一組介面提供一致的界面,fa?ade提供了一高層介面,這個介面使得子系統更容易使用。

十九、Proxy,代理模式:為其他對象提供一種代理以控制對這個對象的訪問

二十、Adapter,適配器模式:將一類的介面轉換成客戶希望的另外一個介面,Adapter模式使得原本由於介面不兼容而不能一起工作那些類可以一起工作。

二十一、Decrator,裝飾模式:動態地給一個對象增加一些額外的職責,就增加的功能來說,Decorator模式相比生成子類更加靈活。

二十二、Bridge,橋模式:將抽象部分與它的實現部分相分離,使他們可以獨立的變化。

二十三、Flyweight,享元模式

java中的設計模式都有哪些?

Java中的23種設計模式:

Factory(工廠模式), Builder(建造模式), Factory Method(工廠方法模式),

Prototype(原始模型模式),Singleton(單例模式), Facade(門面模式),

Adapter(適配器模式), Bridge(橋樑模式), Composite(合成模式),

Decorator(裝飾模式), Flyweight(享元模式), Proxy(代理模式),

Command(命令模式), Interpreter(解釋器模式), Visitor(訪問者模式),

Iterator(迭代子模式), Mediator(調停者模式), Memento(備忘錄模式),

Observer(觀察者模式), State(狀態模式), Strategy(策略模式),

Template Method(模板方法模式), Chain Of Responsibleity(責任鏈模式)

JAVA23種設計模式

一、大約分為三類:

1、創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。

2、結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。

3、行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

二、設計模式遵循的原則有6個:

1、開閉原則(OpenClosePrinciple)

對擴展開放,對修改關閉。

2、里氏代換原則(LiskovSubstitutionPrinciple)

只有當衍生類可以替換掉基類,軟體單位的功能不受到影響時,基類才能真正被複用,而衍生類也能夠在基類的基礎上增加新的行為。

3、依賴倒轉原則(DependenceInversionPrinciple)

這個是開閉原則的基礎,對介面編程,依賴於抽象而不依賴於具體。

4、介面隔離原則(InterfaceSegregationPrinciple)

使用多個隔離的借口來降低耦合度。

5、迪米特法則(最少知道原則)(DemeterPrinciple)

一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。

6、合成復用原則(CompositeReusePrinciple)

原則是盡量使用合成/聚合的方式,而不是使用繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。

java常用的設計模式有那些,各有什麼優缺點?

設計模式:模式是一種問題的解決思路,它已經適用於一個實踐環境。並且可以適用於其他環境。

設計模式的分類:分散式編程模式,用戶界面模式,數據模型模式三大類。

設計模式的作用:設計的重用;

為設計提供共同的辭彙,每個模式名就是一個設計辭彙,其概念使得程序員的交流變得方便;

在開發文檔中採用模式辭彙可以讓其他人更容易理解你的想法。

GoF設計模式的分類:

根據目的準則分類:

1. 創建型:creational 與對象的創建有關。

2. 結構型:Structural 處理類或對象之間的組合。

3. 行為型:behavioral 描述類或對象如何交互及如何分配職責。

創建型模式

1.抽象工廠模式 AbstractFactory

2.建造者模式 Builder

3.工廠方法模式 Factory Method

4.原型模式 Prototype

5.單例模式 Singleton

結構型模式

1.適配器模式 Adapter

2.橋接模式 Bridge

3.組合模式 Composite

4.裝飾模式 Decorator

5.外觀模式 Facade

6.享元模式 Flyweight

7.代理模式 Proxy

行為模式

1.職責鏈模式 Chain of Responsibility

2.命令模式 Command

3.解釋器模式 Interpreter

4.迭代器模式 Iterator

5.中介者模式 Mediator

6.備忘錄模式 Memento

7.觀察者模式 Observer

8.狀態模式 State

9.策略模式 Strategy

10.模板方法模式 Template Method

11.訪問者模式 Visitor

其他看參考資料

原創文章,作者:KGBM,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147061.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KGBM的頭像KGBM
上一篇 2024-11-01 14:05
下一篇 2024-11-01 14:05

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論