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

小型玩具企业网站建设初期阶段任务网站建设与管理属于计算机专业吗

小型玩具企业网站建设初期阶段任务,网站建设与管理属于计算机专业吗,php网站开发与设计,网络方案设计与实现原文链接 作者#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.zqtcl.cn/news/146642/

相关文章:

  • 文化建设设计公司网站跨境电商亚马逊
  • 建设企业网站官网下载中心游戏网站开发设计报告
  • 外贸网站导航栏建设技巧专做奢侈品品牌的网站
  • 网站开发工程师资格证网站建设代理都有哪些
  • 汕头网站建设技术托管wordpress faq
  • 外贸网站建设系统能联系做仿瓷的网站
  • 阿里云网站域名绑定做网站的需要哪些职位
  • cnnic网站备案dnf网站上怎么做商人
  • 怎么做微拍网站代理记账公司注册
  • 长宁深圳网站建设公司建材公司网站建设方案
  • 做网站哪些软件比较好wordpress的留言功能
  • 域名申请好了怎么做网站山西手机版建站系统信息
  • 维度网络网站建设广东水利建设与管理信息网站
  • 浏阳市商务局网站溪江农贸市场建设做关于车的网站有哪些
  • 网站建设教程资源网站网站制作网站的
  • 公司网页是什么被公司优化掉是什么意思
  • 酒店网站建设方案结束语慈溪企业排名网站
  • 做行业网站广告能赚多少钱百度搜索下载安装
  • 寺院网站建设网页搭建
  • 网站设计报价是多少wordpress登录接口
  • 灵宝网站建设建h5网站费用
  • 泊头做网站的有哪些深圳网页制作与网站建设服务器
  • 网站设计的思路网页无法访问百度
  • 简述你对于网站建设的认识网络工程就业岗位有哪些
  • 征婚网站上教人做恒指期货做网站颜色黑色代码多少
  • 海南省建设工程质量监督网站如何做搞笑原创视频网站
  • 网页游戏人气排行榜百度seo插件
  • 免费申请论坛网站更改域名代理商对网站有影响吗
  • 河南做网站公司报价工商做年报网站
  • 用狐狸做logo的网站现在网站开发技术有哪些