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

鲁班建设网站seo搜索引擎优化工具

鲁班建设网站,seo搜索引擎优化工具,wordpress 允许函数,wordpress怎么发布文章带图片上一篇我们学习了 观察者模式。 观察者和被观察者接口都是我们自己定义的,整个设计模式我们从无到有都是自己设计的,其实,java已经内置了这个设计模式,我们只需要定义实现类即可。 下面我们不多说明,直接示例代码&am…

上一篇我们学习了 观察者模式。

观察者和被观察者接口都是我们自己定义的,整个设计模式我们从无到有都是自己设计的,其实,java已经内置了这个设计模式,我们只需要定义实现类即可。

下面我们不多说明,直接示例代码,例子依然同 观察者模式篇章,建议先去看看。

/*** 被观察者具体实现, 实现jdk自带的类** @author jiangkd* @date 2023/7/28 10:32:03*/
@Component
public class WeChatMessage extends Observable {private String message;/*** 模拟被观察者的主题更新, 通知所有观察者** @param message 主题更新*/public void updateMessage(String message) {this.message = message;// 通知所有观察者this.setChanged();this.notifyObservers(message);}}

两个观察者

/*** 具体的观察者1** @author jiangkd* @date 2023/7/28 10:07:34*/
@Slf4j
@Component
public class User1 implements Observer {/*** 观察者接收消息, 知道被观察者发生了变化, 自己进行相应的处理, 这里只是测试打印日志而已** @param o   主题, 被观察者主题类型* @param arg 接受到的消息*/@Overridepublic void update(Observable o, Object arg) {if (o instanceof WeChatMessage) {log.info("我是具体的观察者之一:{}", this.getClass().getSimpleName());log.info("被观察者发生变化, 接收消息:{}", String.valueOf(arg));}}
}
/*** 具体的观察者2** @author jiangkd* @date 2023/7/28 10:09:22*/
@Slf4j
@Component
public class User2 implements Observer {/*** 观察者接收消息, 知道被观察者发生了变化, 自己进行相应的处理, 这里只是测试打印日志而已** @param o   主题, 被观察者主题类型* @param arg 接受到的消息*/@Overridepublic void update(Observable o, Object arg) {if (o instanceof WeChatMessage) {log.info("我是具体的观察者之一:{}", this.getClass().getSimpleName());log.info("被观察者发生变化, 接收消息:{}", String.valueOf(arg));}}}

测试:

/*** @author jiangkd* @date 2023/7/28 10:37:36*/
@SpringBootTest(classes = DemoApplication.class)
@RunWith(SpringRunner.class)
@Slf4j
public class JdkObserverTest {@ResourceWeChatMessage weChatMessage;@ResourceUser1 user1;@ResourceUser2 user2;@Testpublic void test(){// 依然绑定被观察者和观察者weChatMessage.addObserver(user1);weChatMessage.addObserver(user2);weChatMessage.updateMessage("测试一下1!!");}}

执行结果记录日志:

2023-07-28 10:47:30.713 INFO 23796 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 我是具体的观察者之一:User2
2023-07-28 10:47:30.714 INFO 23796 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 被观察者发生变化, 接收消息:测试一下1!!
2023-07-28 10:47:30.714 INFO 23796 — [ main] d.b.e.design_patterns.gczms.jdk.User1 : 我是具体的观察者之一:User1
2023-07-28 10:47:30.714 INFO 23796 — [ main] d.b.e.design_patterns.gczms.jdk.User1 : 被观察者发生变化, 接收消息:测试一下1!!

然后测试注销其中一个观察者User1

@SpringBootTest(classes = DemoApplication.class)
@RunWith(SpringRunner.class)
@Slf4j
public class JdkObserverTest {@ResourceWeChatMessage weChatMessage;@ResourceUser1 user1;@ResourceUser2 user2;@Testpublic void tes2(){// 依然绑定被观察者和观察者weChatMessage.addObserver(user1);weChatMessage.addObserver(user2);weChatMessage.updateMessage("在干什么");log.info("========================================");weChatMessage.deleteObserver(user1);weChatMessage.updateMessage("你过来一下");}}

执行结果记录日志:

2023-07-28 10:48:38.946 INFO 17928 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 我是具体的观察者之一:User2
2023-07-28 10:48:38.947 INFO 17928 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 被观察者发生变化, 接收消息:在干什么
2023-07-28 10:48:38.948 INFO 17928 — [ main] d.b.e.design_patterns.gczms.jdk.User1 : 我是具体的观察者之一:User1
2023-07-28 10:48:38.948 INFO 17928 — [ main] d.b.e.design_patterns.gczms.jdk.User1 : 被观察者发生变化, 接收消息:在干什么
2023-07-28 10:48:38.948 INFO 17928 — [ main] d.b.e.d.gczms.JdkObserverTest : ========================================
2023-07-28 10:48:38.948 INFO 17928 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 我是具体的观察者之一:User2
2023-07-28 10:48:38.948 INFO 17928 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 被观察者发生变化, 接收消息:你过来一下

http://www.tj-hxxt.cn/news/116359.html

相关文章:

  • asp.net网站项目建设想卖产品怎么推广宣传
  • 程序开发合同外贸seo推广招聘
  • 网站优化怎么做效果才好如何注册网站免费注册
  • fusion做电影网站卡死seminar什么意思中文
  • 嘉兴网站建设服务湖南网站建站系统哪家好
  • 网站设计摘要 优帮云百度竞价排名平台
  • 石狮市网站建设seo网上课程
  • 手机有些网站打不开怎么解决百度电脑版入口
  • 简述网站的制作流程百度电脑版官网
  • 重庆网站制作特点优势百度网游排行榜
  • 常州专业网站建设推广百度统计
  • 荣成网站制作公司海门网站建设
  • 高端响应式网站sem优化是什么
  • 对网站做综合搜索引擎优化分析淘宝seo搜索引擎优化
  • 网站换肤代码培训班
  • 如何写代码做网站网站建设步骤
  • 做网站在哪里申请西安高端模板建站
  • 平面设计师作品网站网络推广哪个平台效果最好
  • 哪个网站是专门做兼职的中国十大新闻网站排名
  • 网站开发功能ppt深圳产品网络推广
  • 网站适配移动端和PC端旺道seo
  • 三级分销合法不江门seo外包公司
  • 怎么做触屏版网站廊坊seo建站
  • PHP关于简单企业网站开发过程简介网络推广员的工作内容
  • wordpress 去除顶部廊坊百度推广seo
  • 电商网站建设的步骤西安优化排名推广
  • 微企点做的网站百度搜得到吗东莞建设企业网站
  • 朝阳市做网站电商网站建设价格
  • 做网站关于我们微信怎么推广找客源
  • 有没有房建设计的网站uc浏览网页版进入