🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 将值对象转化为引用对象 如果发现自己创建并维护着多个一模一样的大型复杂对象,请改变对这些对象的使用方式。即仅仅保留一份主拷贝(值对象),然后其他地方使用对该对象的引用(引用对象)。 ## 将引用对象转化为值对象 如果看到自己对某个小型的简单对象进行了多次引用操作,请将这些对象都设置为值对象。 ## 用数据初始化替代虚函数 ## 改变成员函数或成员数据的位置 这些修改通常可以减少派生类的重复工作: 1. 将子程序上移到基类中。 2. 将成员上移到基类中。 3. 将构造函数中的部分代码上移到基类中。 下面这些改变则可以用来对派生类进行特殊化: 1. 将子程序下移到派生类中。 2. 将成员下移派生类中。 3. 将构造函数下移到派生类中。 ## 将特殊代码提取为派生类 如果某类中的一部分代码仅仅被其部分实例所使用,应该把这部分特殊的代码放到其派生类中。 ## 将相似的代码结合起来放置到基类中