專案中需要同步中臺基礎資料事件包含:
專案整體架構
針對這些不同的資料,都有增加、編輯、刪除操作
策略介面和一組實現這個介面的策略類
基於介面而非實現程式設計,可以靈活地替換不同的策略
/**
* @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公司將在指定的生產線上為客戶生產出它所需要的汽車。...