3 回答

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊
如果它能幫助你,我的設(shè)計(jì)將如下:
司機(jī)演員:
人類用戶:使用驅(qū)動程序端口與應(yīng)用交互:“用于添加設(shè)備”
設(shè)備(IP 攝像頭):使用另一個(gè)驅(qū)動程序端口向應(yīng)用發(fā)送警報(bào)事件:“用于接收警報(bào)事件”
驅(qū)動演員:
設(shè)備(IP攝像頭):該應(yīng)用程序使用“用于檢查設(shè)備”的驅(qū)動端口與設(shè)備進(jìn)行交互,以便根據(jù)設(shè)備的時(shí)間表每天啟動和停止它。
警告收件人:當(dāng)收到警報(bào)事件時(shí),應(yīng)用會向他們發(fā)送電子郵件,并且不會忽略該事件。
警報(bào)事件存儲:用于保留應(yīng)用收到的警報(bào)事件。
該應(yīng)用程序(“警報(bào)監(jiān)視器”)執(zhí)行以下業(yè)務(wù)邏輯:
維護(hù)它必須監(jiān)視的設(shè)備集合(“用于添加設(shè)備”)。
它有一個(gè)“工作器”(調(diào)度程序),定期檢查設(shè)備狀態(tài)并根據(jù)設(shè)備的調(diào)度啟動/停止它們。
它處理從設(shè)備收到的警報(bào)事件。收到警報(bào)事件時(shí),應(yīng)用會發(fā)送電子郵件或忽略它。并將事件存儲在存儲庫中。
所以對我來說:
調(diào)度程序是業(yè)務(wù)邏輯的一部分。
接收器是設(shè)備的適配器。它與http的東西有關(guān)。
這是圖片:

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
“調(diào)度程序負(fù)責(zé)定期檢查接收方是否應(yīng)根據(jù)其調(diào)度啟動”
最終,對于應(yīng)用程序來說,人類是按“自動啟動接收者”按鈕還是由計(jì)劃過程完成并不重要。因此,這是一個(gè)基礎(chǔ)結(jié)構(gòu)問題,計(jì)劃程序是一個(gè)驅(qū)動程序適配器。您可能有一個(gè)服務(wù)命令,該命令將由調(diào)度程序定期調(diào)用。ReceiverService.autoStartReceivers
現(xiàn)在,我會說這取決于實(shí)現(xiàn)。如果不知道特定于基礎(chǔ)結(jié)構(gòu)/供應(yīng)商的詳細(xì)信息,而只知道協(xié)調(diào),則它可能屬于應(yīng)用程序/服務(wù)層。Receiver
Receiver
例如,也許接收方使用抽象(HTTP,WebSockets等)并使用(特定于供應(yīng)商的)來調(diào)整事件,然后將它們中繼到實(shí)際上只是在進(jìn)行編排。& 將是適配器。但是,如果知道特定的基礎(chǔ)結(jié)構(gòu)詳細(xì)信息,那么它就變成了適配器。EventSource
EventDecoder
EventProcessor
EventSource
EventDecoder
Receiver
最終,以上所有內(nèi)容都是對事件處理的核心域的支持邏輯。核心域邏輯不會真正關(guān)心事件是如何捕獲的,也可能不關(guān)心結(jié)果操作是如何進(jìn)行的。因此,您的核心域在最簡單的形式中可能是純函數(shù)。actions = process(event)

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
一個(gè)。兩者在同一封裝中,并放置在適配器層
b.適配器層中的接收方和服務(wù)層中的調(diào)度程序
c. 服務(wù)層中的調(diào)度程序和接收方?
接收方和調(diào)度程序都是適配器。我不認(rèn)為它們必須放在同一個(gè)包中,但你可以這樣做。對我來說,最好的答案也是如此,因?yàn)?..a
接收器將您的應(yīng)用程序與外部設(shè)備-ip卡馬拉連接。因此,接收器是端口的適配器。EventService
調(diào)度程序通過端口間接管理接收方的生命周期。它啟用或禁用ip卡馬拉,這會導(dǎo)致接收器的連接和斷開。DeviceService
從應(yīng)用程序核心的角度來看,調(diào)度程序只是另一個(gè)適配器,它告訴端口啟用或禁用某些ip camara。這也可以由單擊 UI 中的按鈕的用戶完成。調(diào)度程序只是對用戶的技術(shù)幫助,它根據(jù)計(jì)劃執(zhí)行用戶想要的任務(wù)。因此,調(diào)度程序也是一個(gè)適配器。DeviceService
- 3 回答
- 0 關(guān)注
- 145 瀏覽
添加回答
舉報(bào)