开发者社区> 问答> 正文

观察者模式中没有抽象观察者接口怎么办

已解决

比如Swing组件是已经被封装好了,不可能让它去实现一个Observer接口。这使有没有其他的办法。我看网上有人说用代理模式?怎样解决?

展开
收起
51干警网 2016-02-17 22:43:58 2146 0
1 条回答
写回答
取消 提交回答
  • 阿里云论坛版主,QQ 1978638808
    采纳回答

    代理就是给原来的类扩展机能
    1你做一个代理类,这个类和你目前的类具有相同的接口
    2-然后在这个代理类中定义一个子对象就是你当前类的对象
    3--然后你写出接口的方法
    自己增加扩展机能,然后调用这个字对象的方法(也是该接口的)

    太一般化了,针对你的问题就是
    比如以JButton为例,做一个 JButtonProxy的类,它组合一个JButton对象,JButtonProxy的就是这个JButton得代理类
    这个类和JButton有相同的接口或者抽象父类
    然后你再给这个类增加实现的接口
    凡是和Jbutton一样的方法实现的时候,都调用这个Jbutton对象的方法。
    如果你想增加什么新的功能,只要在Jbutton对象的方法调用前后增加即可

    2019-07-17 18:29:20
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载