我们要分析设计模式而不是学习设计模式一

我们要分析设计模式而不是学习设计模式一

1、观察者模式

查询搜索一下观察者模式我的第一感觉是完全记不住。好难。那怎么办?

其实我们不要用学习的眼光,而用分析的眼光来看问题就不一样了。
什么是观察模式,其实看看他的 例图就可以分析出来了。

那我们自己怎样设计一个观察者模式那? 问题的思考方法可以查看我上一篇文章。

观察者模式: 观察者–被观察者 只有这个两个角色-> 设计原则职责分离。
1、被观察者要持有多个观察者、这个样就要用聚合来进行管理了。
2、观察这个要知道被观察对象发送了什么事情。
我说的上面的两个问题,其实就是 两个角色分开了怎样进行通信的问题。那具体到类上面。我们就要用到上篇文章的分析了,具体要用那种对象关系。下面是在设计的时候要考虑的问题。

1、两个职责是一对一,多对多,一对多,多对一。
2、我们应该是让两个职责的抽象还是实例产生信息通信。

首先 、 肯定是 一个被观察者对应多个观察这个。那么应该是一个聚合的关系类图。这样应该是被观察者持有了观察者。所以可以对观察者进行管理了。但是观察者目前无法知道被观察者的一举一动。只能任其摆布。所以观察者要持有被观察者才能知道被观察者的详细细节。才能进行相应的行为操作。说白了就是要在对象上持有被观察者还是在方法上传递被观察者。

以上考虑完了就是一个观察者模式了。

总结:

我在接触这个模式的时候,脑子是一片浆糊。这个模式再说啥了。其实,后来想想无非是不知道这个模式是干嘛的。他具体的代码是怎样实现的。他的类图是怎么画的。

如果想多模式有深入的理解,请你认知分析和总结我上一篇文章。

我的忠告:

不要“学习”设计模式。要用设计原则和对象间的基本关系来构建这些模式。这个是两种截然不同的方法。一个是由外而内,一个是由内而外。
而经验告诉我们,要击败一个强悍的对手。从内部下手,省时省力,还一击毙命。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值