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

服装外贸erp东营seo

服装外贸erp,东营seo,做一网站APP多少钱,郑州一站式网站搭建命令模式 介绍 定义案例问题堆积在哪里解决办法 行为形设计模式 就是把 “发布命令 执行命令”细化为多个角色 每个角色又能继续细化 发布命令 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.ds6.com.cn/news/49149.html

相关文章:

  • 网站建设毕业设计文献综述荆门网站seo
  • 网站名称跟域名汕头网站排名
  • 比较好的做简历的网站网站推广优化教程
  • 滴滴注册网站舟山百度seo
  • 可以做网页的网站西安整站优化
  • 惠州做网站静态网页制作
  • 做网站需要准备哪些郑州网站建设方案
  • 资讯网站怎么做seo快速排名工具
  • 做日语字幕的网站用模板快速建站
  • 免费门户网站模板seo推广外包
  • 做农家乐网站合肥百度竞价推广代理公司
  • 婚纱影楼网站源码外贸网站搭建推广
  • 做爰网站爱情岛适合企业员工培训的课程
  • 如何做好一个网站的推广广州seo关键词优化是什么
  • 用点心做点心官方网站seo搜索引擎优化软件
  • 公司网站怎么做才能吸引人免费发布友链
  • 广州网站开发 英诺科技互联网推广平台有哪些
  • 东营市住房和建设委员会网站软文推广产品
  • 新浪微博可以做网站吗竞价排名点击
  • wordpress 标签模板广州seo推广公司
  • 网站开发java连接数据库后关键词优化哪家好
  • 动漫做那个视频网站谷歌google下载安卓版 app
  • 网站建设项目验收付款百度指数有什么参考意义
  • 浅谈sns网站与流行sns网站对比经典软文案例标题加内容
  • 一个网站的建设要经过哪几个阶段企业网站优化外包
  • 网站的建设方面360建站官网
  • 外管局网站怎么做报告中国新闻今日头条
  • 做外贸做什么英文网站好下载百度app到手机上
  • 网站开发与设计公司搜狗搜索推广
  • 网站设计和网站建设公司网站推广怎么做