我需要關於OOD的一些建議。以下是我的情況。需要面向對象的設計建議
Class A{
private B service_;
private StopWatch timer_;
private Const int MinTimeToWait;
public SomeOperation(){
timer_.start();
//call another method on service_ async and subsribe to event for callback
}
private SomeOperationCallback()
{
timer_.stop();
int elapsedTime = timer_.elapsedTime();
if(elapsedTime < MinTimeToWait)
Thread.sleep(MinTimeToWait - elapsedTime)
//Continue after thread resumes
}
}
我有觸發一個異步操作的類,以及異步操作返回後,我需要檢查,如果asycn操作小於MinTimeToWait回來,如果是等待MinTimeToWait完成,然後與其他進行操作。
現在,我通過包含檢查時間和在SomeOperationCallback中等待的邏輯來做正確的事情,還是應該創建一個封裝邏輯和StopWatch的新類並使用該類來執行此檢查並等待?
在此先感謝您的答覆。
實際上是一個類是一個WPF查看一個視圖模型,所以它就像在SomeOperationCallback() – 2013-02-12 18:44:34
在這種情況下得到的結果,更新界面等操作,問題歸結爲可重用性。代碼中還有其他地方需要這樣做嗎?如果是的話,是的,把它分成自己的班級。我寧願有許多具有明確責任的小班,而不是那些做太多事情的較少班級。 – 2013-02-13 14:38:43