Spring中常見的設計模式 裝飾者模式

2022-06-24 04:33:15 字數 1287 閱讀 3747

裝飾者模式(decorator pattern)是指在不改變原有物件的基礎上,將功能附加到物件上,提供了比繼承更有彈性的方案(擴充套件原有物件的功能),屬於結構型模式。裝飾者模式適用於以下場景:

以做煎餅果子為例演示裝飾者模式是怎麼裝的:

首先做乙個煎餅果子抽象:

public

abstract

class

battercake

然後,做乙個基本的煎餅果子:

public

class basebattercake extends

battercake

@override

protected

integer getprice()

}

建立擴充套件**的抽象裝飾者:

public

class battercakedecorator extends

battercake

@override

protected

string getmsg()

@override

protected

integer getprice()

}

建立加雞蛋裝飾類:

public

class eggdecorator extends

battercakedecorator

@override

protected

string getmsg()

@override

protected

integer getprice()

}

客戶端:

public

class

battercaketest

}

裝飾者模式

介面卡模式

形式是一種非常特別的介面卡

沒有層級關係,裝飾者模式有層級關係

定義裝飾者和被裝飾著實現同一介面,主要目的是為了擴充套件後依舊保留舊的oop關係

介面卡和被適配這沒有必然的關係,通常採用繼承或**的形式進行包裝

關係滿足is-a關係

滿足has-a關係

功能注重覆蓋、擴充套件

注重相容、轉換

設計前置考慮

後置考慮

public

class transactionalcache implements

cache

...}

spring中常見的設計模式之工廠模式

設計模式是為解決生活中的問題而誕生的,也就是說我們可以通過生活中的問題來解釋各種各樣的模式,也是前人對 開發經驗的總結。工廠模式分為簡單工廠 工廠方法 抽象工廠。我們可以通過使用生活的例子來解釋它們的作用 1 簡單工廠可以看做一些小作坊模式,生產的產品由客戶選擇 簡單工廠if else或者case語...

Spring 中常用的設計模式對比

各設計模式對比及程式設計思想總結 設計模式 一句話歸納 舉例工廠模式 factory 只對結果負責,封裝建立過程。beanfactory calender 單例模式 singleton 保證獨一無二。原型模式 prototype 拔一根猴毛,吹出千萬個。arraylist prototypebean...

js中常見設計模式總結

1.只有乙個例項。2.可以全域性訪問。3.節省記憶體開銷 function single name single.prototype.getname function single.prototype.createobj function name return this obj let a sin...