2 kingsonyoung kingsonyoung 于 2016.02.01 15:11 提问

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

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

3个回答

fk002008
fk002008   2016.02.01 15:15
已采纳

代理就是给原来的类扩展机能

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

fk002008
fk002008   2016.02.01 15:27

太一般化了,针对你的问题就是

比如以JButton为例,做一个 JButtonProxy的类,它组合一个JButton对象,JButtonProxy的就是这个JButton得代理类
这个类和JButton有相同的接口或者抽象父类
然后你再给这个类增加实现的接口

凡是和Jbutton一样的方法实现的时候,都调用这个Jbutton对象的方法。
如果你想增加什么新的功能,只要在Jbutton对象的方法调用前后增加即可

caozhy
caozhy   Ds   Rxr 2016.02.02 08:46

可以使用适配器模式、桥模式、装饰模式,具体要看你的应用场景。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
设计模式(行为型)之观察者模式(Observer Pattern)
观察者模式用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展。一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其他的对象做出相应的改变。做到这一点的设计方案有很多,但是为
Cocos中的观察者设计模式与通知机制
观察者(Observer)模式也叫发布/订阅(Publish/Subscribe)模式,是 MVC( 模型-视图-控制器)模式的重要组成部分。天气一直是英国人喜欢讨论的话题,而最近几年天气的变化也成为中国人非常关注的话题。我会根据天气预报决定是坐地铁还是开车上班,我的女儿也会根据天气预报决定明天穿哪件衣服。于是我在移动公司为我的手机定制了天气预报短信通知服务,它的工作模型如图所示。每天气象局将天气
观察者设计模式全解
1. 观察者模式的介绍 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 例如:我们在使用应用市场下载应用时,我们的通知栏会有下载进度显示,我们的详情页会有进度显示,我们的列表中也会有下载进度显示,这就是一个典型的观察者设计模式,多个观察者监听同一个下载进度。 2. 观察者
Java设计模式19——观察者模式
一、定义观察者模式定义了一个一对多的依赖关系,让多个观察者对象同时监听同一个主题对象。当这个主题状态发生改变时,会通知所有观察者对象,让它们自动更新自己。二、类似场景 聊天室程序的创建。服务器创建好后,A、B、C三个客户端连接好公开聊天。A向服务器发送数据,服务器在将数据分别发送给其他在线客户。也就是说,每个客户端需要更新服务器端的数据。 网站上,很多人订阅了“Java主题”的新闻。当有这个主题新闻
如何使用 Java8 实现观察者模式?(上)
本文主要介绍通过使用 Java8 架构实现观察者模式,并在此基础上进一步探讨关于经典模式的复杂问题,包括匿名内部类、lambda 表达式、线程安全以及非平凡耗时长的观察者实现。本文内容虽然并不全面,很多这种模式所涉及的复杂问题,远不是一篇文章就能说清的。但是读完本文,读者能了解什么是观察者模式,它在Java中的通用性以及如何处理在 Java 中实现观察者模式时的一些常见问题。
观察者模式(Observer Pattern)(一):观察者模式介绍
一、意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。 二、适用性 《设计模式》中提到在以下任一情况下可以使用观察者模式: 1.当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 2.当对一个对象的改变需要同时改变
当观察者模式和回调机制遇上Android源码
上一篇博客跟大家分享了Android源码中的装饰者模式,有点意犹未尽,今天跟大家分享下Android中的观察者模式,顺便说一说观察者模式和回调机制的关系,欢迎大家拍砖。
模式的秘密——观察者模式
模式的秘密——观察者模式 一、   观察者模式的定义 定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 二、   认识观察者模式 1、       目标与观察者之间的关系 目标与观察者之间是一对多的关系,当然观察者只有一个也是合理的。 2、       单向依赖 观察者和目标是单向依赖的关系,只有观察者依赖目标,而不是目标依赖观
回调函数和观察者模式
Android的框架中有非常多的地方使用了回调的模式,例如Activity的生命周期,按钮的点击事件等。 下面是回调的基本模型: [java] view plaincopy public class A {       private CallBack callback;       //注册一个事件       public v
Observer接口实现观察者模式
今天接触一个新项目(前辈开发过得),很多类都继承了Observable这个类。不明其意,后来百度了下。又收获了一点知识,这里分享一下。假设现在有2个类,当一个类A的某个值改变的时候另外一个类B需要马上作出反应。可能这个问题可以用多种方法解决,这里讨论怎么用观察者模式解决。jdk提供了一个类java.util.Observable,继承它的类称之为被观察者。还提供了Observer接口,实现它的类称之