系统级重构
最后更新于:2022-04-02 04:16:52
[TOC]
## 为无法控制的数据创建明确的索引源
有时,你需要让特定系统来维护数据,而在其他需要使用该数据的对象中,你却无法方便或一致地访问这些数据。
常见的例子如在GUI控件中维护的数据。在这样的情况下,你需要创建一个类,由该类里映射GUI控件中的数据,然后让GUI控件和其他代码将此类作为该数据的明确来源。
## 将单向的类联系改为双向的类联系
如果你有两个类,且它们各自需要用到对方的功能,但仅有一个类能访问另一个类。这时就应该将对两个类进行修改,使其相互调用。
## 将双向的类联系改为单向的类联系
如果有两个类,彼此都知道对方,但实际上只有一个类需要访问另一个类。这时就应该只让那个有实际需要的类能访问另一个类,而另一个类无法访问该类。
## 用Factory Method方式而不是简单地构造函数
在需要基于类型码创建对象,或者希望使用引用对象而非值对象的时候,应当使用Factory Method(函数)。
用异常取代错误处理代码,或者做相反方向的变换
';