重构读书笔记-12_3-Separate_Domain_From

2019-08-14  本文已影响0人  MR_Model

重构第十二章

3.Spearate Domain from Presentation(将领域和表述/显示分离)

某些GUI classes之中包含了domain logic(领域逻辑)。将domain logic(领域逻辑)分离出来,为它们建立独立的domain classes。

Example:

建立Order class表示订单,然后将Order和OrderWindow联系起来,同时使用一个OrderLines class 表示表单的一行数据。


OrderWindow

我们将只用于UI的数据,留下来;如果数据被domain logic使用,而且不显示在窗口上,我们使用Move Field将它搬移到domain class中;如果数据同时被UI和domain logic使用,就对它使用Duplicate Observed Data,使它同时出现在两处,而且保持两者之间的同步。


分离之后 数据放到domain class中

Conclusion:

MVC(Model-View-Control)模式
该章节最主要的应用是在与MVC模式。MVC模式核心价值在于:它将用户界面代码和领域逻辑分离开来。presentation class只含用于处理用户界面的逻辑;domain class不含任何与程序外观相关的代码,只含业务逻辑代码。

注意

重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!
上一篇 下一篇

猜你喜欢

热点阅读