Duplicate Observed Data(复制“被监视数据”)
生活随笔
收集整理的這篇文章主要介紹了
Duplicate Observed Data(复制“被监视数据”)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一些領域數據置身于GUI控件中,而領域函數需要訪問這些數據
?重構:將該數據復制到一個領域對象中。建立一個Observer 模式,可以同步領域對象和GUI 對象內的重復數據。
動機
? ? ? ? 一個分層良好的系統,應該將處理用戶界面和處理業務邏輯的代碼分開。之所以這樣做,有以下2點原因:
? ? ? ? 1、可能需要使用不同的用戶界面來表現相同的業務邏輯,如果同時承擔兩種責任,用戶界面會變得過分復雜;
? ? ? ? 2、與GUI 隔離之后,領域對象的維護和演化都會更容易。
? ? ? ? 盡管可以輕松地將“行為”劃分到不同部位,“數據”卻往往不能如此。同一項數據有可能既需要內嵌于GUI 控件,也需要保存于領域模型里。自從MVC 模式出現后,用戶界面框架都使用多層系統來提供某種機制,使你不但可以提供這類數據,并保持它們同步。
? ? ? ? 如果你遇到的代碼是以兩層方式開發,業務邏輯被內嵌于用戶界面之中,你就有必要將行為分離出來。其中的主要工作就是函數的分解和搬移。但數據就不同了:你不能僅僅只是移動數據,必須將它復制到新的對象中,并提供相應的同步機制。
總結
以上是生活随笔為你收集整理的Duplicate Observed Data(复制“被监视数据”)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java并发编程实战~ThreadLoc
- 下一篇: Replace Array with O