14

PHP设计模式之观察者模式

分类: PHP编程 暂无评论

先抛出一个问题,你的网站有一个新用户注册,假设你需要给用户发送一条站内信,一封电子邮件,给用户分配一个宠物。

那么假定程序需要4个类,分别是用户类(User),电子邮件类(Email),站内信息类(Message),宠物类(Pet)。

那么要解决上面的问题,我们可以直接在 用户对象中用户注册成功后面计入其他3个对象相应的处理方法。这样目的达到了,是否合理呢?

试想,现在用户类需要改动,有可能就会导致注册成功后的动作不能正常启动,或者我改动了其他3个类,我就必须回到User类中寻找到相应的代码进行修改。这样会造成很多不必要的麻烦,如果是团队协作,那就真是头疼了。

在OOP编程中,我们一直在说一个东西就是避免组件之间紧密耦合。上面给出的解决办法就违反了这一原则。观察者模式提供了避免组件之间紧密耦合的一种方法。
Read the rest of this entry »

TOP

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin