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

如何做内容收费的网站海外网站

如何做内容收费的网站,海外网站,徐州设计网站,没有网站可以做seo吗命令模式 介绍 定义案例问题堆积在哪里解决办法 行为形设计模式 就是把 “发布命令 执行命令”细化为多个角色 每个角色又能继续细化 发布命令 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.dinnco.com/news/17099.html

相关文章:

  • 江苏国家住房和城乡建设部网站怎样做百度推广
  • 壮族自治区桂林疫情情况 最新消息浙江搜索引擎优化
  • 建筑工程找活网站微信广告推广价格表
  • 淄博企业高端网站建设欧美网站建设
  • 西安网站建设哪家企业网络宣传推广方案
  • 青岛网站设计 网站建设百度如何投放广告
  • 做设计不进设计公司网站小说网站排名前十
  • 化妆品备案查询网站登封网站建设公司
  • 动态网站影响收录吗腾讯云1元域名
  • 宁波seo关键词优化教程北京seo公司司
  • 南京做网站建设有哪些内容seo站外推广有哪些
  • 公司网站运营注意事项竞价广告代运营
  • 学校网站开发实际意义百度快速排名用什
  • 响应式网站建设推荐乐云践新建立一个企业网站需要多少钱
  • 手工制作方法seo排名快速上升
  • 网站正在建设中 htmll百度seo排名点击软件
  • 专门做中式装修的网站百度一下你就知道官方网站
  • cms建站平台北京十大教育培训机构排名
  • 做 cad效果图网站网站seo属于什么专业
  • 帮别人做高仿产品网站 违法么商品推广软文写作500字
  • 外贸网站程序深圳头条新闻
  • 政府网站建设策划大二网络营销实训报告
  • 怎么制作自己的网站百度网站收录查询
  • 银川网站建设哪家不错广州seo关键词优化外包
  • 网站建设APP的软件十大经典营销案例
  • 武汉市党风廉政建设网站网站优化课程
  • 做的比较好的分享网站检测网站是否安全
  • 我公司要网站建设福建seo搜索引擎优化
  • 中央人民政府网站网址pc端百度
  • 西安专业网站建设公司无屏蔽搜索引擎