当前位置: 首页 > news >正文

国外的平面设计网站无锡网站排名提升

国外的平面设计网站,无锡网站排名提升,WordPress主题DUX修改,网站推广是做什么工作观察者模式 参考#xff1a; bugstack 虫洞栈Refactoringhttps://www.cnblogs.com/myseries/p/8735490.htmlhttps://www.jianshu.com/p/4f1cd513a72d 当一个行为发生时传递信息给另外一个用户接收做出相应的处理#xff0c;两者之间没有直接的耦合关联。 在我们编程开发中也…观察者模式 参考 bugstack 虫洞栈Refactoringhttps://www.cnblogs.com/myseries/p/8735490.htmlhttps://www.jianshu.com/p/4f1cd513a72d 当一个行为发生时传递信息给另外一个用户接收做出相应的处理两者之间没有直接的耦合关联。 在我们编程开发中也会常用到一些观察者的模式或者组件例如我们经常使用的MQ服务虽然MQ服务是有一个通知中心并不是每一个类服务进行通知但整体上也可以算作是观察者模式的思路设计。再比如可能有做过的一些类似事件监听总线让主线服务与其他辅线业务服务分离为了使系统降低耦合和增强扩展性也会使用观察者模式进行处理。 1. 结构 2. 实现 2.1 Obverse 和 Obversable 该方式已经在 Java 9 被弃用 This class and the Observer interface have been deprecated. The event model supported by Observer and Observable is quite limited, the order of notifications delivered by Observable is unspecified, and state changes are not in one-for-one correspondence with notifications. For a richer event model, consider using the java.beans package. For reliable and ordered messaging among threads, consider using one of the concurrent data structures in the java.util.concurrent package. For reactive streams style programming, see the java.util.concurrent.Flow API. 2.1.1 被观察者 当被观察者的 state 变化时通知所有进制的观察者。 public class Subject extends Observable {private int state;public int getState() {return state;}public void setState(int state) {this.state state;this.setChanged();this.notifyObservers();} }2.1.2 多个观察者 public class BinaryObserver implements Observer {public BinaryObserver(Observable observable) {observable.addObserver(this);}Overridepublic void update(Observable o, Object arg) {if (o instanceof Subject) {System.out.println(Binary String: Integer.toBinaryString(((Subject) o).getState()));}} }public class OctalObserver implements Observer {public OctalObserver(Observable observable) {observable.addObserver(this);}Overridepublic void update(Observable o, Object arg) {if (o instanceof Subject) {System.out.println(Binary String: Integer.toOctalString(((Subject) o).getState()));}} }public class HexaObserver implements Observer {public HexaObserver(Observable observable) {observable.addObserver(this);}Overridepublic void update(Observable o, Object arg) {if (o instanceof Subject) {System.out.println(Binary String: Integer.toHexString(((Subject) o).getState()));}} }2.1.3 测试 public class Test{public static void main(String[] args) {Subject subject new Subject();new BinaryObserver(subject);new OctalObserver(subject);new HexaObserver(subject);System.out.println(First state change: 15);subject.setState(15);System.out.println(Second state change: 10);subject.setState(10);} }还值得优化的部分可以把添加观察者还有删除观察者的功能提取到一个单独的管理类中。 2.2 PropertyChangeEventPropertyChangeSupportPropertyChangeListener 这三个类分别对应的职责 PropertyChangeListener观察者PropertyChangeSupport管理者PropertyChangeEvent事件 class EventSource {private String name;/** 在事件源的地方添加一个PropertyChangeSupport对象间接地由它负责添加监听、激发事件*/private final PropertyChangeSupport listeners new PropertyChangeSupport(this);/*** 在事件源上添加监听实际上是在PropertyChangeSupport对象上添加监听*/public void addListener(PropertyChangeListener listener) {listeners.addPropertyChangeListener(listener);}/*** 同上*/public void removeListener(PropertyChangeListener listener) {listeners.removePropertyChangeListener(listener);}/*** 事件源发生变化时也是通过PropertyChangeSupport对象把事件发送到监听者上的*/public void setName(String name) {String oldValue this.name;this.name name;// 触发事件源监听者得到触发变化listeners.firePropertyChange(name, oldValue, this.name);} }Slf4j class Monitor implements PropertyChangeListener {Overridepublic void propertyChange(PropertyChangeEvent evt) {log.info(事件源 {} 发生变化, {} {}, evt.getPropertyName(), evt.getOldValue(), evt.getNewValue());} }public class TestPropertyChangeSupport {public static void main(String[] args) {EventSource eventSource new EventSource();Monitor monitor new Monitor();//在事件源上添加监听发生变化时就会调用propertyChange方法eventSource.addListener(monitor);eventSource.setName(11);} }
http://www.zqtcl.cn/news/799080/

相关文章:

  • 兰州网站开发企业在微信公众号发布wordpress
  • 网站信息化建设总体情况网站建设介绍ppt模板下载
  • 广州 建网站asp.net.网站开发
  • 装修网站模板国家正规现货交易平台
  • 福州高端网站制作网站建设项目单子来源
  • 网站制作的行业广州网站推广方案
  • 网站主域名建设通怎么样
  • 网站是如何建立的广告设计与制作工作内容
  • 网站优化课程培训公司取名生成器免费
  • 如何设立网站做外国网站买域名
  • 惠州网站建设公司排名聊城专业网站设计公司
  • 网站建设龙岗电子商务有限公司官网
  • 分栏型网站服装设计网站模板
  • 建设网站备案与不备案区别企业网站怎么做排名
  • php mysql的网站开发html网站制作答辩ppt
  • 网站制作有名 乐云践新专家网页制作公司需要什么资质
  • 织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名电脑网站模板
  • 北京网络营销网站品牌营销增长公司哪家好
  • 网站反链有好处吗稷山网站建设
  • 廊坊网站群发关键词怎么在百度上推广自己的公司信息
  • 网站开发 沈阳免费模板建站
  • 商业性质网站建设步骤wordpress电影网盘
  • 网站的外部推广成都房产网官网
  • 深圳网站建设创想营销北京土巴兔全包装修价格表
  • 怎么发布php网站邯郸建设网站制作
  • 手机网站做多宽的图片wordpress顶部导航栏怎么创建
  • 如何做招聘网站的数据分析安徽黄山旅游攻略
  • 2022建站市场国际新闻直播
  • 茗哥网站建设装饰公司网站规划方案
  • 北京天津网站建设公司做平台网站要多久