修飾模型的應用范圍
在Java中,開發人員可以通過繼承向對象中添加功能;惪梢詫崿F公共功能,子類實現特殊的功能。例如在上面的例子中,開發人員可以實現SortModel和FilterModel類來替代排序和過濾修飾者。但是修飾模型比繼承更加靈活,這是因為修飾者和被修飾者之間的關系可以在運行時被改變,而子類和基類之間的關系在編譯時就被固定下來。
通常在下面的情況下會使用到修飾模型:
· 如果開發人員需要將不同的簡單功能在運行時組合在一起。如果通過繼承的方法將對功能不同的組合方法生成大量的子類,而使用修飾模式可以減少代碼量。
· 如果開發人員在運行時需要透明地向某個對象添加功能。透明在這里指需要增加功能的對象不能夠被修改。
· 如果開發人員需要限制使用一個對象的公共方法。當程序調用被限制的方法時,修飾者可以根據實際情況決定傳遞方法調用還是拋出異常。 (全文完)
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/