🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 为无法控制的数据创建明确的索引源 有时,你需要让特定系统来维护数据,而在其他需要使用该数据的对象中,你却无法方便或一致地访问这些数据。 常见的例子如在GUI控件中维护的数据。在这样的情况下,你需要创建一个类,由该类里映射GUI控件中的数据,然后让GUI控件和其他代码将此类作为该数据的明确来源。 ## 将单向的类联系改为双向的类联系 如果你有两个类,且它们各自需要用到对方的功能,但仅有一个类能访问另一个类。这时就应该将对两个类进行修改,使其相互调用。 ## 将双向的类联系改为单向的类联系 如果有两个类,彼此都知道对方,但实际上只有一个类需要访问另一个类。这时就应该只让那个有实际需要的类能访问另一个类,而另一个类无法访问该类。 ## 用Factory Method方式而不是简单地构造函数 在需要基于类型码创建对象,或者希望使用引用对象而非值对象的时候,应当使用Factory Method(函数)。 用异常取代错误处理代码,或者做相反方向的变换