首先请看如下的代码。
view plainprint?
class Help { private int n;Help() { this.n = 0;} public void setMe(int n) { Helper.setValue(this, n);} public void setN(int n) { this.n = n;}
class Helper { static public void setValue(Help h, int n) { h.setN(n);}
public class TestQuestion{ public static void main(String args) { Help h = new Help();h.setMe(13);}
Help的setMe方法调用了Helper的setValue方法,Helper的setValue方法又调用了Help的setN方法。这样似乎中间的Helper没有用。但是它可以加一些检测操作,使得这种检测操作分离出来。具体如下:view plainprint?
class Help { private int n;Help() { this.n = 0;} public void setMe(int n) { Helper.setValue(this, n);} public void setN(int n) { this.n = n;}
class Helper { static public void setValue(Help h, int n) { if (n < 1000) { h.setN(n);} else { System.out.println("The value is beyond 1000.");}
public class TestQuestion{ public static void main(String args) { Help h = new Help();h.setMe(13);}
这样可以把检测分离出来,符合软件工程团队开发的的思想。