java-模型问题,双观察者,如何实现?比较好

问题描述

模型问题,双观察者,如何实现?比较好

对于一个class A和class B两者有这种关系,A 中的a1会影响到B中的b1,B中的b2
会影响到A中的a2
如何处理比较优雅呢?

解决方案

这就好比设计一个双联动的下拉框,你的做法就是通过容器注册事件,互相通知对方。

解决方案二:

双观察者模式?双方即是事件源,也是观察者?

解决方案三:

果断出现第三者,循环引用什么的最忌讳了

时间: 2024-09-29 01:25:56

java-模型问题,双观察者,如何实现?比较好的相关文章

效果-求一个java 类型的 双直立插值算法放缩处理图片代码?

问题描述 求一个java 类型的 双直立插值算法放缩处理图片代码? 网上很多代码调用之后生成的图片 不是黑色的 就是放大后没什么效果 解决方案 有没有人知道啊 怎么解决

java中的双缓冲技术

毕业设计有个远程协助功能,得到对方的屏幕后,老是会闪,很是不爽,今天用java的双缓冲技术解决了.代码如下,本类重写了Swing中的JLabel,当Label重绘时,会默认的调用它的update方法,主要用于清除界面,然后update方法会调用paint方法,再把界面画上去,所以我现在update方法中创建了一个Image和Graphics对象Image off_screen_buf和off_screen_gc同时设置其大小和MyLabel对象的大小一样,用于把要画的东东先绘制到后台内存中,然后

跨越边界:浅谈Java模型以外的类型策略

当谈到 Java 语言的类型方法时,Java 社区分为两大阵营.一些人喜欢编译时错误检查,更好的安全 性,以及改善的工具 -- 这些都是静态类型所能提供的特性.而另一些人则偏爱更动态的类型体验.这 一次在 跨越边界 中,您将看到两种高生产力的非 Java 语言所使用的一些截然不同的类型策略,并发现 在 Java 编程中提高类型灵活性的一些方法. 在对任何编程语言的讨论中,争议较大的一个问题就是类型模型.类型决定可以使用哪些种类的工具 ,并影响到应用程序的设计.很多开发人员将类型与生产率或可维护性

java和javascript双引号嵌套的问题

双引号不能嵌套双引号,否则一对双引号就结束了 java中双引号中嵌套双引号需要转义: public class Test{            public static void main(String[] args){            String str1 = "\"name\"";//字符串两边含有双引号             String str2 = "name \"is\" wgb";//字符串中间含有

Java中实现双数组Trie树实例_java

传统的Trie实现简单,但是占用的空间实在是难以接受,特别是当字符集不仅限于英文26个字符的时候,爆炸起来的空间根本无法接受. 双数组Trie就是优化了空间的Trie树,原理本文就不讲了,请参考An Efficient Implementation of Trie Structures,本程序的编写也是参考这篇论文的. 关于几点论文没有提及的细节和与论文不一一致的实现: 1.对于插入字符串,如果有一个字符串是另一个字符串的子串的话,我是将结束符也作为一条边,产生一个新的结点,这个结点新节点的Ba

详解Java编程的Observer观察者设计模式_java

 java语言里包含了许多对设计模式的直接支持,如command模式,agent模式,observer模式等.虽然java提供的对这些模式的支持很简单,不能满足比较复杂的应用.但在简单的场景下,使用这些类往往能够得到立杆见影的效果.所以,如果没有什么特殊需求,还是最好利用java的这些类.         Observer模式,又称监听模式,观察者模式,是经典设计模式之一(one of GOF).java语言中,对这种模式支持的类和接口主要有以下几个,全部来自java.beans包: java.

JAVA中的双缓冲问题

/** *//** *双缓冲 *什么是重量级,轻量级 *轻量级在这里指用纯java实现的.重量级指和其他语言混合编程,这样耗用的资源多系统触发的绘画操作 *绘画操作的分类 *系统触发的和程序触发的绘画操作 *AWT的绘制与界面更新使用了一个单独的线程,称为AWT线程.这个线程可以在两种情形下更新显示. *一种情况是界面"显露",这可能会发生在界面首次显示时,或者界面某一部分由于被其它窗口遮盖后重新显示时.界面显露的处理是AWT自动进行的,. *第二种情况是程序在显示内容有所改变时进行界

【求助】关于Java中的双缓冲技术

问题描述 我尝试写一个人物行走的动画.我使用了双缓冲技术,但是屏幕仍然会闪烁,希望大家能够帮我找到其中的错误.代码如下:(1)精灵类packagesprite;importjava.awt.*;importjava.awt.image.*;importjavax.swing.*;publicclassSprite{publicintm_posX=0,m_posY=0;privateImagepic[]=null;privateintmPlayID=0;booleanmFacus=true;pub

java模型定义

问题描述 我要定义两个模型,对象A跟对象B是一对多的关系,对象A中有一个属性是对象B的集合,数据库的定义是一个A表,一个B表,一个一对多的中间表,请问我的类A要怎么样定义呢?才能在定义一个对象A的时候,满足这个A的属性B集合也能合理的在对象A中 问题补充:fxmabo 写道 解决方案 你用的是Hibernate还是JDBC?如果是Hibernate的话就直接用:<set name="bSet" inverse="false"> <key colum