养浩然之气,活着不是为技术,请关心身边的人.
值对象模式(The Value Object Pattern)
上一篇 /
下一篇 2007-08-20 10:21:34
/ 个人分类:php设计模式介绍学习
高效的
对象应该像
PHP的整型那样运作:如果你把同一个对象资源赋值给两个不同的变量,然后改变其中的一个变量,另一个变量仍然不受影响。事实上,这就是Value Object模式的目标所在。
执行Value Object时,php4和php5是有区别的。PHP5通过new进行对象资源的赋值传递的是对象资源的指针就像我们在PHP4中通过指针传递一样。PHP4操作所有的对象都是遵循Value Objects对象规律的,因为PHP4的赋值操作相当于对对象做了一个拷贝。
对于价值
设计模式不变性是关键,任何对于一个Value Object的变量amount的改变,是通过创建一个新的带有不同预期值的类的实例来完成的。
简单来说,在PHP5里面使用价值设计模式时,需要注意以下几个方面:
1.保护值对象的属性,禁止被直接访问。
2.在构造函数中就对属性进行赋值。
3.去掉任何一个会改变属性值的方式函数(setter),否则属性值很容易被改变。
以上三步创建了一个不变的值,这个值一旦被初始化设置之后就不能被改变。当然,你也应该提供一个查看函数或者是访问Value Object的属性的
方法,并且可以添加一些与这个类相关的函数。
导入论坛
收藏
分享给好友
管理
举报
TAG:
php设计模式介绍学习