变量使用--绑定时间

所谓绑定时间就是把变量和它的值绑定在一起的时间。

编写代码时绑定

 

titleBar.color = 0xFF;//0xFF is hex value for color blue

 由于0xFF是硬编码(hard-coded)在程序里的数值,在编写代码的时候它就会绑定到titleBar.color变量上。这种硬编码技术通常是很糟糕的,因为一旦要修改这个0xFF,那么这个新值就无法同代码中其他那些必须和它一样的0xFF值保持一致了。

 

编译程序时绑定

private static final int COLOR_BLUE = 0xFF;
private static final int TITLE_BAR_COLOR = COLOR+BULE;
....

 titleBar.color = TITLE_BAR_COLOR;
TITLE_BAR_COLOR是一个具名常量,编译器会在编译时把它替换成一个数值。如果你用的语言支持这种特性,那么这种方法几乎总是要好于硬编码。
由于TITLE_BAR_COLOR比0xFF更能反映出所代表的信息,因此增加了可读性。它也能使修改标题栏颜色变得更容易,因为一处改动就能对所有位置生效。同时也不会影响运行期的性能。

 

运行时绑定

titleBar.color = ReadTitleBarColor();

 ReadTitleBarColor()是一个能在程序运行期间读入数值的子程序,数值来源可能是配置文件,也可能来自spring的注入。
与硬编码相比,这样的代码更具可读性和灵活性。无须通过修改程序来改变titleBar.color,只要简单修改ReadTitleColor()子程序要读取的数据源内容即可。

 

对象实例化时绑定

public TitleBar ConstructTitleBar(Config config){
	...
	titleBar.color = config.ReadTitleBarColor();
	...
	return titleBar;
}

 ConstructTitleBar()是一个能在对象实例化的时候通过配置中相应的方法来设置color。

你可能感兴趣的:(spring)