类接口的重构

最后更新于:2022-04-02 04:16:49

[TOC] ## 将一个类变成两个 如果一个类同时具备两种或更多的截然不同的功能,请把这个类转化为多个类,使得每个类完成一种明确定义的功能。 ## 删除类 如果某个类无所事事,然后把这个类删掉 ## 去除委托关系 如果类A调用了类B和类C,实际上类A只应该调用类B,类B调用类C,就需要重新抽象 ## 用委托代替继承 如果某类需要用到另一个类,但又打算获取该类接口更多的控制权,那么可以让基类成为原派生类的一个成员,并公开它的一组成员函数,以完成一种内聚的抽象。 ##用继承代替委托 如果某个类公开了委托类(成员类)所有成员函数,那么该类应该从委托类继承而来,而不是使用该类。 ## 对暴露在外的成员变量进行封装 如果数据成员是公用的,请将其改为私用,然后通过成员函数来访问该数据成员的值。 ## 对于不能修改的类成员,删除相关的Set()成员函数 ## 隐藏那些不会在类之外被用到的成员函数 ## 封装不会使用的成员函数 如果发现自己往往只使用类接口的一部分,那么就为类创建新的接口,仅仅把那些必须的成员函数暴露给类的外部,需要注意,新的接口应该为类提供一致的抽象。 ## 合并那些实现非常类似的基类和派生类 如果派生类并未提供更多的特殊化,那么就应该把它合并会基类。
';