您的位置:首页 > 移动开发 > Objective-C

在对象之间搬移特性(Moving features Between Objects)

2009-09-19 00:49 357 查看
在对象的设计过程中,[决定把责任放在哪儿]即使不是最重要的事,也是最重要的事之一。

1 Move Method(搬移函数)

概述

你的程序中,有个函数与其所驻class之外的另一个class进行更多交流:调用后者,或被后者调用。在该函数最常引用(指涉)的class中建立一个有着类似行为的新函数,将旧函数变成一个单纯的委托函数(delegating method),或是将旧函数完全移除;

动机

[函数搬移]是重构理论的支柱。

如果一个class有太多行为,或如果一个class与另一个class有太多合作而形成高度耦合(highly coupled),就应该搬移函数;

是否应该移动一个函数,这往往不是一个容易做出的决定,如果不能肯定是否应该移动一个函数,那么或许[移动这个函数与否]并不是那么重要。

范例

我们用一个表示[账户]的class来说明这项重构:

Code
public class MyDateWrap
{
private Date original;

public MyDateWrap(Date arg)
{
original = arg;
}

public int getYear()
{
return original.getYear();
}
public int getMonth()
{
return original.getMonth();
}
public int getDate()
{
return original.getDate();
}
private Date nextDay()
{
return new Date(getYear(),getMonth(),getDate() + 1);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: