养浩然之气,活着不是为技术,请关心身边的人.

值对象模式(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设计模式介绍学习

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 21829
  • 日志数: 146
  • 建立时间: 2007-08-01
  • 更新时间: 2008-02-20

RSS订阅

Open Toolbar