我有兩個接口,彼此不知道。定義接口間流程的類的設計模式名稱
public interface IListener
{
event SignalEventHandler SignalReceived;
}
public interface IDevice
{
Task HandleSignalAsync();
}
而不是使每個聽衆直接調用的裝置或傳遞到聽衆設備實現,我想保持它們分離,並且分別限定流動。例如:
public class MyApplicationFlow
{
private readonly IListener _listener;
private readonly IDevice _device;
public MyApplicationFlow(IListener listener, IDevice device)
{
_listener = listener;
_device = device;
_listener.SignalReceived += ListenerOnSignalReceived;
}
private async void ListenerOnSignalReceived(object sender, SignalEventArgs args)
{
try
{
await _device.HandleSignalAsync();
// do more stuff in real scenario
args.ProgressReporter.ReportComplete();
}
catch (Exception ex)
{
args.ProgressReporter.ReportError(ex);
}
}
}
可能有幾個IDevice
和IListener
實現傳入流量。
的聽衆和設備似乎遵循適配器模式。但是MyApplicationFlow
呢?
我甚至不確定這是行爲模式還是結構模式。
是否有一個用於定義對象之間流程的類的通用名稱?我可以用作該模式後面類名的後綴,例如Manager
,Coordinator
,Connector
(最好是在.NET框架中已經使用的東西)。或者,因爲我找不到任何東西,我在吠叫錯誤的樹嗎?有沒有更好的方法來實現這種解耦?
有沒有這裏的模式,只是代碼 –
這僅僅是依賴注入 – maccettura
不夠公平 - 我想不是一切都是一個模式!任何關於如何改善這個問題的幫助?我不知道我是否理解了降價。 – Connell