方向:只能由实参传向形参,形参不能传递给形参。传值:形参发生改变,实参不改变。真个相当于将对象在内空间存放的值copy了一下传给实参!传地址:传地址是一种特殊的传值。传地址值(传引用):是真正以地址的方式在传参数,这是形参和实参是同一个对象,才能真正操作实参!主调函数中可以直接改变变量的值,用函数后...
分类:
其他好文 时间:
2014-12-10 21:07:42
阅读次数:
193
?重构(Refactoring):在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造,对代码内部的结构进行优化。
?重构与设计是互补的,程序应该是先设计,而在开始编码后,设计上的不足可以用重构来弥补.
?设计应该是适度的设计,而不必过度的设计.如果能很容易的通过重构来适应需求的变化,那么就不必过度的设计,当需求改变时再重构代码 。
...
分类:
其他好文 时间:
2014-12-10 10:54:06
阅读次数:
224
一、定义模板方法模式:定义一个操作中算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。解释:简单来说,需要定义一个通用的基类,但是基类中不同的操作,于是模板方法模式将不同的操作编写成一个抽象函数放到子类中实现,这样即可完成通用基类的目的。二...
分类:
其他好文 时间:
2014-12-10 10:28:36
阅读次数:
169
转载!!!Ext.Date是一个单例类,封装了一系列日期操作函数,扩展JavaScript Date的功能,下面列出一些常用的功能。Ext.Date.add(date, interval, value) 给date增加或减少时间,这个函数不改变原有Date对象的值,而是返回一个新的Date对象。Ex...
分类:
Web程序 时间:
2014-12-09 17:30:04
阅读次数:
290
模板方法模式是一个非常简单的模式,因为它只使用到了继承关系。模板方法(Template Method)模式:定义一个操作中的算法的骨架,而将一些步骤延续到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。来看下这个简单模式的结构吧:1) 抽象类(Abstract Class):...
分类:
其他好文 时间:
2014-12-09 11:52:36
阅读次数:
121
1.定义在不改变代码行为情况下改善代码设计;2.好处1.改善设计;2.让软件更加容易理解;3.可以协助寻找bugs;4.可以提升开发速度;3.使用 3.1结构重构(改名字) 右键类文件,Refactor->Rename 3.2移动(移动到另外一个包) Refactor->Move 3.3修改方法的名...
分类:
编程语言 时间:
2014-12-08 20:54:39
阅读次数:
234
编程习惯:1、尽可能包含文档化字符串,使程序更有条理。2、文档化字符串习惯是一个三引号字符串(""").这样可再不改变引号样式的前提下,扩展一个程序的文档。(例如添加更多的行)3、如有必要(几乎总是如此),请提供一个构造函数,用有意义的值初始化每个对象。4、将所有方法的第一个参数都命名为self,始...
分类:
编程语言 时间:
2014-12-08 15:13:50
阅读次数:
187
第二章 重构原则
重构是什么?
重构(名词):对软件内部结构的一种调整,目的是在不改变[软件之可察行为]前提下,提高其可理解性,降低其修改成本。
重构(动词):使用一系列重构准则(手法),在不改变[软件之可察行为]前提下,调整其结构。
两顶帽子:添加新功能和重构,不能同时进行。
为何重构?
改进软件设计:可能设计之初根据已有需求,是世界上最优的设计。但是可能过程中增删许...
分类:
系统相关 时间:
2014-12-08 09:19:10
阅读次数:
209
模板方法模式为我们定义了一个算法的框架,框架之中定义了方法的执行步骤,但是具体每一步的方法要由具体的子类来实现。这样,在不改变整个算法结构的同时,就可以定义某个算法的特定步骤。 模板方法模式的类结构如下: 模板函数:在一个抽象基类中定义了一个模板方法,它规定了整个算法的结构并且定义了...
分类:
其他好文 时间:
2014-12-05 19:14:29
阅读次数:
154
如果你使用jQuery 1.6 ,代码if ( $(elem).attr(“checked”) ),将获得一个属性(attribute) ,它不改变该复选框被选中和选中。它只是用来存储默认或选中属性的初始值。为了保持向后兼容,.attr() 方法从 jQuery 1.6.1+ 开始除了返回属性值外,...
分类:
Web程序 时间:
2014-12-05 17:21:17
阅读次数:
144