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

山西智能网站建设制作网站框架是谁做

山西智能网站建设制作,网站框架是谁做,世界建设企业网站,如何伪原创 网站命令模式 介绍 定义案例问题堆积在哪里解决办法 行为形设计模式 就是把 “发布命令 执行命令”细化为多个角色 每个角色又能继续细化 发布命令 1 打印1-9 a 打印A-G 如果有更多的命令 命令处理方式更加多样性 更复杂 处理命令的顺序拆分角色:降低耦合度 命令类&am…

命令模式

介绍

定义案例问题堆积在哪里解决办法

行为形设计模式


就是把 “发布命令 执行命令”细化为多个角色
每个角色又能继续细化

发布命令

1 打印1-9

a 打印A-G

如果有更多的命令
命令处理方式更加多样性 更复杂
处理命令的顺序
拆分角色:降低耦合度
命令类(一个命令一个类)

具体接收类(具体的处理命令 当前
用静态方法代替)

执行执行

先进先执行
新进后执行
优先等级高的先执行
)可以设置多种优先等级

类图

1 . 一个命令接口类

2 “命令接口类” 包含了 “处理类”

3 传给了“调用方” 来定义如何调用

代码

角色1  BaseCommand :抽象命令

角色2.1 Command1 :具体命令1

角色2.2 CommandA :具体命令2

角色3 Receiver:具体命令处理

角色4 Invoke:执行方

BaseCommand


public abstract class BaseCommand
{// 委托:命令public delegate void ExecuteCommand();public ExecuteCommand executeCommand = null;public BaseCommand(ExecuteCommand executeCommand){this.executeCommand += executeCommand;}// 执行命令public abstract void Execute();
}

Command1


public class Command1 : BaseCommand
{public Command1(ExecuteCommand executeCommand): base(executeCommand){}public override void Execute(){if (null != executeCommand)executeCommand();}
}

CommandA


public class CommandA : BaseCommand
{public CommandA(ExecuteCommand executeCommand): base(executeCommand){}public override void Execute(){if (null != executeCommand)executeCommand();}
}

Receiver

using UnityEngine;/// <summary>
/// 功能集合
/// </summary>
public class Receiver
{static public void Show1to9(){Debug.Log("打印:123456789!");}static public void showAtoG(){Debug.Log("打印:ABCDEFG!");}
}

Invoke

/// <summary>
/// 调用者 
/// 可以继续扩展:
/// 1 收集命令
/// 2 命令顺序不同 倒序 或者 特殊优先级高的先执行
/// 3 扩展为设计模式深入设计
/// </summary>
public class Invoke
{private BaseCommand commend = null;Invoke() { }public Invoke(BaseCommand commend){this.commend = commend;}public void Execute(){commend.Execute();}
}

运行代码

using System;
using UnityEngine;public class TestML : MonoBehaviour
{void Start(){BaseCommand command = null;string strCommand = "1";switch (strCommand){case "A":command = new CommandA(Receiver.showAtoG);break;case "1":command = new Command1(Receiver.Show1to9);break;default:break;}// 执行命令Invoke invoke = new Invoke(command);invoke.Execute();}}

运行结果

心得备注

设计模式需要放到框架设计 才更有意义,有时候如果有一个小的需求并且后期也不会改动,直接用流程的方式写代码更加简单,进一步设计反而没必要!

如果放入项目框架, 命令模式的4个角色还能继续细分,细分后再细分,考虑后期的各种变动,根据策划案进一步细分优化,细节处使用更多的设计模式。

一步步优化下去, 推迟细节再推迟。。直到config配置文件或者Execl。

http://www.yayakq.cn/news/762872/

相关文章:

  • 山东住房与城乡建设网站中国建设银行春招网站
  • 青岛网站优化多少钱评价一个网站的好坏
  • 淘宝网站的建设目的wordpress免费主题 开源
  • 汽车保险网站提供微网站制作多少钱
  • 广州专业网站建设公司Wordpress 当天文章更新数
  • 唐山微网站建设价格网站主页设计模板
  • 网站后台更新内容后北京营销网站制作
  • 如何在一个数据库做两个网站漳州seo顾问
  • 哈尔滨网站建设报价价格做网站好的网站建设公司哪家好
  • 如何将域名指向网站北京舞美设计制作公司
  • 网站后台选项卡效果如何做好一名销售
  • 基于wordpress的英文小游戏站上位机软件开发平台
  • 长沙简单的网站建设公司免费网上咨询医生是哪个网
  • 岗顶网站开发seo解释
  • zencart 网站安装学php网站开发好吗
  • 查看网站开发语言专做项目报告的网站
  • 胶州市 网站建设人才招聘网最新招聘2022
  • 做红酒的网站有哪些wordpress wpmu
  • 做网站最小的字体是多少钱百度快速收录在线提交工具
  • go语言网站开发网站建设与推广综合实训总结
  • 一起做网站可以一件代发吗网站设计与建设
  • 模板网站有利于做seo吗网站页面布局名称
  • 扬中网站建设哪家好中小企业官方网站
  • 站群建站企业信息公示信息
  • 建设部网站施工合同范本怎么样做公司网站
  • 建设银行的官方网站纪念币注册公司网站模板
  • 后端网站开发企业管理培训视频免费
  • 平台网站开发是什么意思wordpress xml大于2m
  • 危险网站提示域名商的网站
  • 电子商务网站网站建设建设网站的成本