当前位置: 首页 > 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.yutouwan.com/news/322927/

相关文章:

  • 代刷网站搭建教程产品质量推广营销语
  • ps可以做网站动态图治多县网站建设公司
  • 网站开发外包维护合同appstar
  • 凡客建站网站下载梧州论坛 红豆社区
  • 网站搭建找谁电商网站建设济南建网站
  • 科技公司网站案例新人做外贸流程
  • 网站设计过程介绍汽车营销活动策划方案
  • 网站到期请续费白城网站建设
  • 班级网站制作教程怎么制作网页链接在微信上发
  • 电子商务网站建设与维护致谢词怎么写软文
  • 网站建设xiu021什么游戏不用登录直接玩
  • 毕业设计(论文)-潮州美食网网站建设.doc 免费下载企业网页申请制作步骤
  • 网站开发做什么简单wordpress 扁擔
  • 购物商城网站制作cms 免费
  • 做境外域名网站如何找外链资源
  • 建设银行注册网站的用户名怎么写高端网站建设合同
  • 做调查问卷用的网站或软件.net如何做网站
  • 网站建设推广哪里好wordpress 域名使用
  • 汕头网站建设 网络服务wap网站前台模板
  • 南宁seo建站seo教程网站优化
  • 烟台网站关键词推广成品视频直播软件推荐哪个好一点ios
  • 免费的创建个人网站网站数据库问题
  • 大连英文网站建设网站开发分为哪几块
  • 深圳企业网站建设标准网站制作创业
  • 网站建设 工作计划怎么在百度建个网站
  • 长沙建站长沙网站杭州市建设工程招标
  • 大淘客cms建站教程百度seo公司有哪些
  • 买正品去哪个网站最好吉安网络科技有限公司
  • 网站查询云南固恒建设集团有限公司网站
  • 网站建设基本步骤做文案策划有些网站可看