記得在操作io流時,在最後要關閉流的時候要try/catch,流多的時候就有一大堆try/catch,如下所示:
private
void
put(string path, bitmap bitmap)
catch (filenotfoundexception e)
finally
catch (ioexception e)
}}
今天看了物件導向的介面隔離原則,原來可以這樣處理(雖然多了乙個工具類,但**明顯看著順眼多了:
public final class closeutils
public
void
closequietly(closeable closeable)
catch (ioexception e) }}
}
這個時候上面的put()方法就可以這樣寫了,**是不是簡潔順眼多了呢,而且這個closeutils還可以應用到各類可關閉的物件中,保證了**的重用性:
private
void
put(string path, bitmap bitmap)
catch (filenotfoundexception e)
finally
}}
物件導向設計六原則之 介面隔離原則
1.含義 客戶不應該被強迫使用他們不需要的介面。2.解釋 該原則用於不滿足單一職責原則的情況,客戶只需要知道具有內聚介面的抽象父類即可。3.舉例說明 如果有個辦公一體機,具有印表機,影印機,掃瞄機的功能。對於客戶來說,不需要接觸每個機器,只要接觸辦公一體機。inte cesegregationpri...
物件導向的原則之介面隔離原則
設計應用程式的時候,如果乙個模組包含多個子模組,那麼我們應該小心對該模組做出抽象。設想該模組由乙個類實現,我們可以把系統抽象成乙個介面。但是要新增乙個新的模組擴充套件程式時,如果要新增的模組只包含原系統中的一些子模組,那麼系統就會強迫我們實現介面中的所有方法,並且還要編寫一些啞方法。這樣的介面被稱為...
設計模式 物件導向設計原則之介面隔離原則
類a通過介面i依賴類b,類c通過介面i依賴類d,如果介面i對於類a和類b來說不是最小介面,則類b和類d必須去實現他們不需要的方法。介面最好大小合適,不臃腫,也不過於細緻。適合於需求,卻不多於需求 不實現它們不需要的方法 客戶端不應該依賴它不需要的介面 乙個類對另乙個類的依賴應該建立在最小的介面上。建...