标签:计算 哪些 actor 函数声明 hash 领域 extra 抉择 它的
对函数的重构方法
在面向对象的设计中,决定把责任放在哪里。
先使用移动字段,在移动方法
Hide Delegate
局限性是每当客户要使用受托类的新特性时,就必须在服务段添加一个简单委托函数,受托类的特性越来越多,这一过程会越来越痛苦。
简单委托关系
动机
什么时候隐藏
怎么隐藏
对于这个类的任何修改都应该通过该类的方法。类拥有一些数据却无所觉,拥有一些依赖无所觉是非常危险的。所以才要封装字段,封装集合,监视数据,用对象替代数组,用对象替代集合,关联改动。
Change Unidirectional Association to Bidirectional
动机
什么时候改动
怎么实现
添加一个反向指针,并使修改函数能够同时更新两条连接。
在被引用的类中增加一个字段,保存反向指针。
控制端和被控制端
在被控端建立一个辅助函数,负责修改反向指针
如果既有的修改函数在控制端,让它负责控制修改反向指针
如果既有的修改函数在被控端,就在控制端建立一个控制函数,并让既有的修改函数调用这个新建的控制函数,来控制修改反向指针。
所有的数据都应该隐藏起来。
Extract Superclass
动机
什么时候做
怎么做
新建一个空白抽象类
Separate Domain from Presentation
动机
什么时候做
怎么做
将领域逻辑分离出来,为它们建立独立的邻域类。
为每个窗口建立一个领域类,
如果窗口内含有一张表格,新建一个类来表示其中的行,再以窗口所对应之领域类中的一个集合来容纳所有行领域对象
检查窗口中的数据,如果数据只被用于UI,就把它留着,如果数据被领域逻辑使用,而且不显示与窗口上,我们就可以使用移动方法将它搬移到领域类中,如果数据同时被UI和领域逻辑使用,就对它实施复制被监视数据,使它同时存在于两处,并保持两处之间的同步。
展现类中的逻辑,实施提炼方法将展现逻辑从邻域逻辑中分开,一旦隔离了邻域逻辑,在运用搬移方法将它移到邻域类。
标签:计算 哪些 actor 函数声明 hash 领域 extra 抉择 它的
原文地址:https://www.cnblogs.com/lovexinyi/p/11820056.html