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

手机网站一键分享到微信免费虚拟主机管理系统

手机网站一键分享到微信,免费虚拟主机管理系统,网站目录权限 user,商场网站建设公司19.命令模式 首先就是我们的 Client 想要实现一个功能#xff0c;于是它就创建了一个 Command#xff0c; 为了方便调用将 Command 封装在了 Invoker 中#xff0c;当我们想调用的时候#xff0c;Invoker 会执行内部 Command 提供的方法, Receiver 接收到 Command 的请求于是它就创建了一个 Command 为了方便调用将 Command 封装在了 Invoker 中当我们想调用的时候Invoker 会执行内部 Command 提供的方法, Receiver 接收到 Command 的请求为其提供底部支持。 多说无益我将通过一个例子介绍命令模式。 实例 目前大部分的软件都支持用户自定义界面比如说我们可以修改字体大小背景颜色等。我们就以此为例。首先写出两个类。 Data NoArgsConstructor AllArgsConstructor public class Font {private String fontSize normal; }Data NoArgsConstructor AllArgsConstructor public class BackGround {private String bgColor default color; }这是 Command, 修改字体大小和背景的类都继承于此。 public interface Command {void execute(); }我们只是在类中获得一个 Font 类的引用然后调用setFontSize() 方法对字体的大小进行设置。 Data NoArgsConstructor AllArgsConstructor public class LargeFontCommand implements Command {private Font font;Overridepublic void execute() {font.setFontSize(large);} }AllArgsConstructor NoArgsConstructor Data public class NormalFontCommand implements Command {private Font font;Overridepublic void execute() {font.setFontSize(Normal);} }background类的引用调背景颜色 NoArgsConstructor AllArgsConstructor Data public class CustomBackGround implements Command {private BackGround backGround;private String color;public CustomBackGround(BackGround backGround){this.backGround backGround;}Overridepublic void execute() {backGround.setBgColor(Custom background);} }AllArgsConstructor NoArgsConstructor Data public class DefaultBackground implements Command {private BackGround backGround;Overridepublic void execute() {backGround.setBgColor(default color);} }Invoker类存放命令 Data AllArgsConstructor NoArgsConstructor public class Invoker {private ListCommand commands new ArrayList();public void setCommand(int i,Command command){commands.add(i,command);}public void update(int i){commands.get(i).execute();} }public class CommandTest {public static void main(String[] args) {Font font new Font();BackGround backGround new BackGround();NormalFontCommand normalFontCommand new NormalFontCommand(font);LargeFontCommand largeFontCommand new LargeFontCommand(font);DefaultBackground defaultBackground new DefaultBackground(backGround);CustomBackGround customBackGround new CustomBackGround(backGround);Invoker invoker new Invoker();invoker.setCommand(0,normalFontCommand);invoker.setCommand(1,largeFontCommand);invoker.setCommand(2,defaultBackground);invoker.setCommand(3,customBackGround);invoker.update(3);System.out.println(backGround.getBgColor());} }我们首先把所有的命令添加到了 Invoker , 然后直接调用 update() 方法就可以了。 这么做有什么好处呢看的出来可以将很多命令放进 Invoker 它并不知道功能是如何实现的它就像一个中介 Client 请求一个功能它就将这个请求转给 Command 去实现。这种模式有很多的用途比如说多功能遥控器日志打印等。 还有一点不得不说的我们可以使用宏命令什么是宏命令呢就是写一个 Command 这个 Command 可以实现多个功能。比如说我们可以同时修改背景和颜色。
http://www.hkea.cn/news/14359485/

相关文章:

  • 生产企业网站模板南宁网站备案
  • 上海建网站开发公司网站建设 推广人员
  • 我要建网站必须重视的问题之一
  • 网站建设消费调查问卷最先进的深圳网站建设
  • 域名注册网站做贸易要看什么网站
  • 浙江网站怎么做推广网站建设签收单
  • 遵义网站优化网站没有备案信息该怎么做
  • 过年做哪个网站能致富平台连接
  • 漳州 做网站wordpress扩展
  • 广州做网站公司电话那间公司做网站好
  • 大连做网站优化网站建设完成后为何无法运营下去
  • 朝阳凌源网站建设北大青鸟培训机构官网
  • 本地wordpress建站一个人做商城网站
  • php建设网站所用开发软件西安的网站制作公司
  • 专业网站设计 软件百度网站推广服务商
  • 国外网站备案上海建设房屋网站
  • 我是做网站的安庆跨境电商建站哪家好
  • 传播型网站建设优势有哪些建筑工程网格优化
  • 在一个城市做相亲网站全网营销推广 好做吗
  • 电子商务网站建设合同标准范文注册一个公司网站的费用
  • 个人网站建立多少钱旧房翻新装修
  • 网站建设 证书网站建设服务的会计处理
  • 有哪些网站的搜索引擎网站信息推广的策略有哪些
  • 深圳公司网站设计公dedecms手机网站仿制
  • 苏宁易购网站建设 的定位佛山网站策划公司
  • jsp网站安全性网站外链发布
  • 外贸网站免费推广wordpress 首页缩略图
  • 网站建设实训总结封面怎么做网站动态地图
  • html网站开发实例教程抚州seo排名
  • 创意网站界面学网络运营在哪里学比较好