java Design Patterns
? java的設計模式大體上分為三大類:
- 創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。
- 結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。
- 行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
一、Factory Method
基本概念
FactoryMethod是一種創建性模式,它定義了一個創建對象的接口,但是卻讓子類來決定具體實例化哪一個類.當一個類無法預料要創建哪種類的對象或是一個類需要由子類來指定創建的對象時我們就需要用到Factory Method 模式了.簡單說來,Factory Method可以根據不同的條件產生不同的實例,當然這些不同的實例通常是屬于相同的類型,具有共同的父類.Factory Method把創建這些實例的具體過程封裝起來了,簡化了客戶端的應用,也改善了程序的擴展性,使得將來可以做最小的改動就可以加入新的待創建的類. 通常我們將Factory Method作為一種標準的創建對象的方法,當發現需要更多的靈活性的時候,就開始考慮向其它創建型模式轉化
簡單分析
圖1是Factory Method 模式的結構圖,這里提供了一些術語,讓我們可以進行更方便的描述:
?
二、Singleton Method
- 定義:確保某一個類只有一個實例,而且自行實例化并向整個系統提供這個實例,這個類稱為單例類,它提供全局訪問的方法。
- 實現:私有靜態成員變量,存放實例;私有構造方法,防止new實例;公共靜態方法,創建或返回私有靜態成員變量存放的實例
- 懶漢模式:工廠方法時實例對象,運行時實例
- 餓漢模式:私有靜態成員變量直接賦值,編譯直接實例對象
- 單例模式是一種對象創建型模式。
三、prototype
? ??
? ? 1、定義
原型模式(Prototype)就是通過復制一個已經存在的實例來返回新的實例,而不是新建實例,被復制的實例就是我們所稱的原型對象,這個原型是可定制的。
2、原理
有兩部分組成,抽象原型和具體原型。意圖:用原型實例指定創建對象的種類,并且通過拷貝這些原型創建新的對象。
?
四、proxy
? ?
定義
代理模式是對象的結構模式。代理模式給某一個對象提供代理對象,并由代理對象控制對源對象的引用。
代理模式的結構
所謂的代理,就是一個人或者一個機構代表另外一個人或者另外一個機構采取行動。在一些情況下,一個客戶不想或者不能夠直接引用一個對象,而代理對象可以在客戶端和目標對象中間起到中介的作用。
轉載于:https://www.cnblogs.com/cheneywxy/p/10705302.html
總結
以上是生活随笔為你收集整理的java Design Patterns的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kuro and Walking Rou
- 下一篇: 正则只能输入数字,一个小数点,第一位不能