專案中工廠 策略設計模式的使用

2021-10-17 07:14:34 字數 1628 閱讀 5737

專案中需要同步中臺基礎資料事件包含:

專案整體架構

針對這些不同的資料,都有增加、編輯、刪除操作

策略介面和一組實現這個介面的策略類

基於介面而非實現程式設計,可以靈活地替換不同的策略

/**

* @author lc

* @desc (資料處理介面定義)

* @date 2021/1/7

*/public

inte***ce

syncdatastrategy

使用者(usersyncdataserviceimpl)、部門(departmentsyncdataserviceimpl)

學校(schoolsyncdataserviceimpl)、使用者部門(userdepartmentsyncdataserviceimpl)

/**

* @author lc

* @desc (部門資料同步)

* @date 2021/1/7

*/@service

public

class

departmentsyncdataserviceimpl

implements

syncdatastrategy

@override

public

void

update

(message message)

@override

public

void

delete

(message message)

}

策略模式會包含一組策略,一般會根據型別來判斷使用哪個策略

可以將根據型別建立策略的邏輯抽取出來,放在工廠類中

/**

* @author lc

* @desc (資料同步工廠類)

* @date 2021/1/7

*/@service

public

class

syncdatastrategyfactory

return syncdatastrategy;

}}

/**

* @author lc

* @desc (資料同步處理)

* @date 2021/1/7

*/@slf4j

@component

public

class

syncdatahandler

implements

messagehandler

, historydatahandler

else

if(operationtype.modify.

getdesc()

.equals

(desc)

)else

if(operationtype.delete.

getdesc()

.equals

(desc))}

}

設計模式 策略模式與工廠模式的在專案中的結合使用

這個模式涉及到三個角色 環境 context 角色 持有乙個strategy的引用。抽象策略 strategy 角色 這是乙個抽象角色,通常由乙個介面或抽象類實現。此角色給出所有的具體策略類所需的介面。工廠模式與策略模式的不同之處 1.工廠模式是建立型模式 關注物件的建立 策略模式是行為型模式 關注...

大話設計模式 工廠模式 策略模式

工廠模式 以商場收費系統為例。打折 正常 送積分等手段 首先,有乙個抽象類cashsuper 收費操作,有三個繼承cashsuper的子類 cashnormal具體操作,重寫函式 其次,寫乙個cashfactory工廠類,來生產具體的操作類cashnormal等。策略模式 先寫乙個策略抽象類,然後寫...

設計模式 簡單工廠模式 策略模式

名詞理解 工廠 factory 模式我們可以做如下理解,假設有乙個audi的公司生產汽車 似乎也不用假設了 它掌握一項核心的技術就是生產汽車,另一方面,它生產的汽車是有不同型號的,並且在 不同的生產線上進行組裝。當客戶通過銷售部門進行預定後,audi公司將在指定的生產線上為客戶生產出它所需要的汽車。...