0
我目前正在研究一個嚴重依賴外部組件的項目 - 主要是物理設備,如路由器,交換機,NVT及其與SNMP(SNMP,Ping,RTSP ...)通信的特定協議。我需要監視這些設備(他們是否在線?他們的狀態如何?)並向他們發送操作消息。 (啓動該任務,啓用該端口...)域服務的實現
毫不奇怪,這是我生命中唯一的域實體:
public class Device {
public long IpAddress { get; set; }
...
}
但我確信確實有很多的服務。像ISnmpService,IPingService,IFtpService,... 現在我問自己:DDD如何幫助我?我必須在哪一層實施這些服務?那些甚至是'真正'的域名服務?他們是否屬於基礎設施層,還是可以在域層實現服務?
怎麼會這樣的實現解決這樣的問題:
public HorribleController : ApiController {
public HorribleController(
ISnmpService snmpService,
IRtspService rtspService,
IPingService pingService,
IOnVifService onvifService)
{
...
}
public AddDevice(Device device) {
snmpService.Add(device);
rtspService.Add(device);
rtspService.Connect(device);
pingService.Watch(device);
onvifService.Add(device);
}
}
我認爲你缺少意圖在域的邊界顯示命令。 – JefClaes