重构第八章
10.Encapsulate Field(封装值域)
你的class中存在一个public值域。将它声明为private,并提供相应的访问函数。
Example:
public Stirng _name;
End:
private String _name;
public String getName(){return _name;}
public void setName(String arg) { _name = arg; }
Conclusion:
Encapsulate Field(封装值域)和Self Encapsulate Field(自封装值域)的重构步骤和目的比较相近。
Encapsulate Field(封装值域)目标更加偏向于将数据封装起来;Self Encapsulate Field(自封装值域)目标更加倾向于解耦。
注意
重构必须在有单元测试的情况下,保证之前的功能修改后不收影响。切记!!!
网友评论