重构读书笔记-12_3-Separate_Domain_From_Presentation

重构第十二章

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不含任何与程序外观相关的代码,只含业务逻辑代码。

注意

重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。