[设计模式]_[Object-c]_[观察者模式在项目中实际使用例子2]

场景

  1. 在使用C/C++开发界面时,在两个界面通讯我们之前通过 观察者模式在项目中实际使用例子 来进行数据传输,而不是通过互相引用的方式进行数据传输,互相引用的最大缺点就是耦合严重。

  2. 而在使用Object-c开发Cocoa界面时,也会出现这种情况,就是界面间如何通讯?Object-c只支持单继承,不支持多重继承,我们创建界面只能继承NSView,而不能再继承另外一个类,如何做?

  3. Object-c不支持多重继承,使用协议可以做到吗?协议只能声明接口函数,而不能声明属性,实现协议的类都必须重新实现一遍协议声明的函数,非常麻烦,不能重用。

说明

  1. 要实现目标对象,方法1是写一个子类MyView,并且这个子类继承NSView,并且在这个子类里添加Subject类的接口函数。这种方法的缺点就是如果窗口对象是NSButton类型,那么还要实现一个MyButton来作为Subject对象,所以这种方法不合适。

  2. 第二种方式就是使用组合模式,自定义一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peter(阿斯拉达)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值