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

网站上的地图导航怎么做的韶山seo快速排名

网站上的地图导航怎么做的,韶山seo快速排名,美术馆网站建设总体要求,信息发布网站有哪些原文链接 作者#xff1a;Pankaj Kumar 译者#xff1a;f0tlo 1357654289qq.com 命令模式是一种行为模式#xff0c;因此#xff0c;它处理的是对象的行为。命令模式为系统中不同的对象提供中性化的交流媒介。根据GoF的定义#xff0c;命令模式是#xff1a; 通… 原文链接  作者Pankaj Kumar 译者f0tlo 1357654289qq.com 命令模式是一种行为模式因此它处理的是对象的行为。命令模式为系统中不同的对象提供中性化的交流媒介。根据GoF的定义命令模式是 通过封装一组完全不相关的对象相互之间的的交互及通讯来完成松耦合。 允许某一个对象的行为的变化是独立于其他对象的。 在企业级应用中命令模式是非常有用的它使得多个对象可以相互交流。如果一些对象与另一些对象直接交流系统组件之间是紧耦合的方式。这种方式导致系统具有更高的可维护性可扩展的灵活性变得很低。命令模式专注于提供一个调解人介于需要交流的对象之间来帮助完成对象间的松耦合。 飞机流量控制器就是使用命令模式最好的例子。空管中心就是和这个负责不同飞机之间交流的调解人。调解人犹如一个不同对象之间的路由器它有自己逻辑来提供对象之间如何交流。 在本文的例子中我们试着完成一个聊天程序允许群聊。用户使用自己的名字来识别他们可以发送接收消息。任何人发送的消息都能被群组中的其他用户接收到。 调解人接口 首先创建调解人接口用于如何定义具体的调解人。 package com.journaldev.design.mediator;public interface ChatMediator {public void sendMessage(String msg, User user);void addUser(User user); }   组群用户接口 用户可以发送接送信息因此应该有用户接口或者抽象类。此处创建用户抽象类如下 package com.journaldev.design.mediator;public abstract class User {protected ChatMediator mediator;protected String name;public User(ChatMediator med, String name){this.mediatormed;this.namename;}public abstract void send(String msg);public abstract void receive(String msg); } 注意用户有一个对调解人的索引因为不同的用户需要交流。 调解人实体类 现在调解人的实体类它包含了再组群中的一些类用户并且提供用户之间如何交流的逻辑。 package com.journaldev.design.mediator;import java.util.ArrayList; import java.util.List;public class ChatMediatorImpl implements ChatMediator {private ListUser users;public ChatMediatorImpl(){this.usersnew ArrayList();}Overridepublic void addUser(User user){this.users.add(user);}Overridepublic void sendMessage(String msg, User user) {for(User u : this.users){//message should not be received by the user sending itif(u ! user){u.receive(msg);}}}}组群用户的实体类 现在创建用户的实体类用于客户端中 package com.journaldev.design.mediator;public class UserImpl extends User {public UserImpl(ChatMediator med, String name) {super(med, name);}Overridepublic void send(String msg){System.out.println(this.name: Sending Messagemsg);mediator.sendMessage(msg, this);}Overridepublic void receive(String msg) {System.out.println(this.name: Received Message:msg);}} 注意send()方法正在调解人中被用于传递信息给其他用户。但是它不知道如何被此调解人使用。 命令模式客户端 现在完成一个简单的聊天程序来完成组群聊天。 package com.journaldev.design.mediator;public class ChatClient {public static void main(String[] args) {ChatMediator mediator new ChatMediatorImpl();User user1 new UserImpl(mediator, Pankaj);User user2 new UserImpl(mediator, Lisa);User user3 new UserImpl(mediator, Saurabh);User user4 new UserImpl(mediator, David);mediator.addUser(user1);mediator.addUser(user2);mediator.addUser(user3);mediator.addUser(user4);user1.send(Hi All);}} 注意此客户端程序非常简单完全没有给出细节描述信息是如何被处理以及调解人是否将会使用用户对象。 上述程序的输出如下 Pankaj: Sending MessageHi All Lisa: Received Message:Hi All Saurabh: Received Message:Hi All David: Received Message:Hi All 命令模式的UML图 JDK中的命令模式 java.util.Timer类中scheduleXXX()方法 java Concurrency Executor execute() 方法java.lang.reflect.Method invoke()方法 特别注意的地方 命令模式中当不同的对象的通讯逻辑很复杂是我们可以使用中心化的交流方式来处理此通讯逻辑。 Java Message Service(JMS)消息服务与观察者模式一起来完成消息在不同程序间的订阅与发布。命令模式仅仅是为了松耦合。如果调解人的数量变大此时易维护性就变差了。
http://www.huolong8.cn/news/322927/

相关文章:

  • 开发网站需要注意紫金网站制作策划
  • 手机网站前端设计免费制作链接
  • 视频网站建设民宿企业安全文化建设
  • 建材网站建设成都番禺网站开发设计
  • 免费服务器建立网站蓝色系网站首页
  • p2vr做的网站上传WordPress街机
  • 个人网站建设知乎网上快速学做网站
  • 电子商务网站建设与管理的背景网页游戏哪个平台最好
  • 做电子签章登录那个网站沈阳市城市建设学院官方网站
  • 建网站的注意事项创建全国文明城市的目的
  • 新塘网站设计彩票网站建设安全度
  • 网站广告条素材个人网站建设作用
  • 3d打印网站开发中装建设002822股吧
  • 顺义免费网站建设低成本做网站 百知
  • 山东省住房和城乡建设部网站三亚网站运营托管介绍
  • 网站建设实训报告收获网上广告设计培训
  • 太原优化型网站建设国外服务器有哪些
  • 试客网站建设百度推广关键词多少合适
  • 网站前端 设计外贸网站外链平台
  • 企业app开发的公司seo公司杭州
  • 网站按照谁建设 谁负责网站建设与维护 目录
  • 做网站的方案图片wordpress免费插件下载地址
  • 网站建设属于广告费么上海租房网个人房源
  • 张家港那家做网站设计网站多少费用多少
  • 深圳做网站 肖先生网站搭建实训报告
  • 响应式网站模版下载化妆品网页设计模板
  • 网站建设补贴wordpress文章页幻灯片
  • 公司网站 用 个人备案域名WordPress提交留言
  • 雅安市政建设公司网站网页制作个人简历代码
  • 网站收录不增加wordpress step2