`
wolf_19
  • 浏览: 164307 次
社区版块
存档分类
最新评论

变量使用--绑定时间

阅读更多

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

编写代码时绑定

 

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。

分享到:
评论

相关推荐

    WPF数据绑定:将一个变量绑定到一个控件,控件内容随变量的变化而变化

    WPF的数据绑定功能非常强大,在控件中使用数据绑定功能会为你节省大量的处理...本示例中,将一个变量绑定到一个控件上,在代码中改变变量值,并立刻引起控件值的变化。此代码经过删减,仅仅保留精简内容,一看就懂。

    2009 达内Unix学习笔记

    $ 取环境变量的值。 | 管道。把前一命令的输出作为后一命令的输入,把几个命令连接起来。 |经常跟tee连用,tee 把内容保存到文档并显示出来。 三、通用后接命令符 -a 所有(all)。 -e 所有(every),比a更...

    绑定变量解读PPT

    绑定变量之性能优化,避免不必要的硬分析(Hard Parse)而节约了时间,同时节约了大量的CPU资源。

    VB.NET局部静态变量介绍

    经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。VB.NET能够实现很多C#不能做到的功能,如When语句、Optional参数、局部Static变量、对象实例访问静态...

    绑定变量解读

    绑定变量之性能优化,避免不必要的硬分析(Hard Parse)而节约了时间,同时节约了大量的CPU资源。

    S7-1200与HMI设备系统时钟同步的具体步骤详解.docx

    S7-1200与HMI设备系统时钟同步的具体步骤详解

    zepto-data-binding:提供 Javascript 数据绑定的 Zepto.js 插件

    用于数据绑定的 Zepto ... 然后我们将我们的变量绑定到一些问候文本的样式和文本。 最后,我们将提供几个输入来更改变量: <html><head><title>Hello</title><script type="text/javascript

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    【z-paging下拉刷新、上拉加载】示例demo

    【配置简单】仅需两步(绑定网络请求方法、绑定分页结果数组)轻松完成完整下拉刷新,上拉加载更多功能。 【低耦合,低侵入】分页自动管理。在page中无需处理任何分页相关逻辑,无需在data中定义任何分页相关变量,...

    MingGeJS1.7.3类库

    他拿我的事件方法出来喷, 那告诉你写事件方法当时,我只是简单马虎写了几句,前后时间用了一小时左右,结果被喷得一文不值。 好吧,最多的借口都是借口,那么今天特意把事件方法全部重写了 $(XXX).bind("click",...

    (全)传智播客PHP就业班视频完整课程

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    论文研究-基于BCDM的含有变量的双时态关系代数研究.pdf

    在BCDM(双时态概念数据模型)中,时间变元Now和UC的存在解决...基于BCDM,通过绑定时间变元,用时态映射的集合定义时态关系,由此建立了一种含有时间变元的双时态关系代数体系。该关系代数体系在双时态运算下是封闭的。

    PHP函数索引

    aggregate_proprties_by_regexp - 选择阶级属性集合到一个对象时使用正则表达式。 aggregation_info - 此函数是该函数的别名 aggregate_info()。 AMQPConnection::__construct - AMQPConnection创造的一个实例。 ...

    易语言程序免安装版下载

    互联网支持库中的“FTP目录列表”命令返回的文件时间改为FTP服务器返回的原始时间,不做任何时区转换。 4. 互联网支持库中的“置代理服务器”命令增加了参数,用于支持代理服务器用户认证。 5. 修改控制台操作...

    vue.js学习相关文件-测试代码

    expression: 绑定值的表达式或变量名。 例如 v-my-directive="1 + 1" , expression 的值是 "1 + 1"。 arg: 传给指令的参数。例如 v-my-directive:foo, arg 的值是 "foo"。 modifiers: 一个包含修饰符的对象。 例如...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-14 7.php数据库编程⑨-使用mysqli扩展库增强(批量执行sql和事务控制) 9-17 1.回顾 9-17 2.php数据库编程(10)-使用mysqli扩展库增强(预处理技术) 9-17 3.php数据库编程(11)-使用mysqli扩展库增强(预处理技术) 9-17 ...

Global site tag (gtag.js) - Google Analytics