重构读书笔记-8_5-Replace_Array_With_Object

重构第八章

5.Replace Array with Object(以对象取代数组)
你有一个数组(array),其中的元素各自代表不同的东西。以对象替换数组。对于数组中的每个元素,以一个值域表示之。

Example:

string row = new string[3];
row[0] = "RiverPool";
row[1] = "15";
string name = row[0]
int wins = Integer.parseInt(row[1]);

Analyse:
示例中,有一个数组,其中有三个元素,分别保存一支球队的名称、获胜场次、失败场次。
使用的时候,你会发现一个数组中容纳了不同的信息,会给使用数组的用户带来麻烦。这个时候可以使用Replace Array with Object(以对象取代数组),通过值域名称和函数名称传达信息的含义,还可以对数据进行封装之类的操作。

End:

class Perfomance() {
    private int wins;
    private string name;
    public void SetWins(int arg) {
        wins = arg;
    }
    public int GetWins() {
        return wins;
    }
    public void SetName(string arg) {
        name = arg;
    }
    public string GetName() {
        return name;
    }
}

Conclusion:

Replace Array with Object(以对象取代数组)将意味不明的数组通过对象来代替,使得数组中原本代替的含义清晰明了。
数组只应该用于以某种顺序容纳一组相似对象

注意

重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容