当前位置: 首页 > 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/619692/

相关文章:

  • 上海3d网站建设支付网站建设要求
  • 考试网站怎么做的中国建行个人网上银行
  • 晋江 网站建设 推广网页美工培训学校
  • 湖南长沙人才市场招聘官网海外网站推广优化专员
  • 天津网站建设服务公司网站统计代码添加
  • 湖北网站制作公司自己的网站
  • php网站开发难吗wordpress主题制作下载地址
  • 好用的快速网站建设平台cms网站管理系统制作
  • 企业网站推广的方法有搜索引擎推广软件开发流程的具体内容
  • 海外sns网站河北石家庄网站建设
  • 如何开网站做代销教人做网站的视频
  • 企业网站设计注意大学生怎么做网站
  • 郑州网站推广汉狮网络网络销售怎么做自己的网站
  • 深圳网站快速排名优化汉中做网站的公司电话
  • 域名申请通过了网站怎么做网站401错误
  • 公司网站建设 阜阳网站建设营销怎么做
  • 提供手机网站建设推荐西安给大学做网站公司
  • 网站建设网站需要什么软件有哪些企业网站欣赏郑州企业形象设计
  • 权威的扬中网站建设彩票网站开发租用
  • 欧美 手机网站模板下载 迅雷下载 迅雷下载 迅雷下载地址网站后台选项卡效果
  • 比较容易做的网站济南哪家做网站
  • 餐饮品牌设计论文seo主管的seo优化方案
  • wordpress 图片广告插件石家庄百度提升优化
  • 网站流量排名查询网站建设比较好
  • 大学网站建设定制网站建设网站响应式和电脑手机
  • 资讯文章类网站织梦模板临清住房建设网站
  • 培训类网站开发深圳网站建设有免费的吗
  • 成都网站建设优创智汇禹州市门户网站建设
  • 推广自己的网站软件工程师招聘
  • 昆明制作手机网站h5前端开发