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

网站设计专业知识技能建行app怎么解除5000限额

网站设计专业知识技能,建行app怎么解除5000限额,注册公司名字推荐,wordpress加密某一页面行为型模式关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,明确对象的职责。 一、职责链模式 二、命令模式 请求发送者与接收者解耦 1. 自定义功能键 有一个软件,提供了一系列的自定义功能按键,用户可通…

行为型模式关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,明确对象的职责。

一、职责链模式


二、命令模式

请求发送者与接收者解耦

1. 自定义功能键

有一个软件,提供了一系列的自定义功能按键,用户可通过这些功能按键来实现一些快捷操作。

例,欲使用以下代码实现功能键功能处理类之间的调用关系:

/// <summary>
/// 功能键类,请求发送者
/// </summary>
class FunctionButton
{private HelperHandler help;/// <summary>/// 在FunctionButton的OnClick方法中调用HelpHandler的display方法/// </summary>public void OnClick(){help = new HelperHandler();help.Display();}
}

功能键FunctionButton充当请求的发送者,帮助文档处理类HelpHandler充当请求的接收者,在发送者FunctionButtonOnClick方法中调用接收者HelpHandlerDisplay方法。

以上代码的3个问题:

(1)发送者接收者之间的方法直接调用,耦合度高。更换请求接收者,必须更换修改发送者的源代码。例如,若需要将接收者HelpHandler改为WindowHandler,需要修改FunctionButton的代码。违背了开闭原则

(2)FunctionButton类在设计和实现时功能已被固定,如果增加一个新的请求接收者,如果不修改原有的FunctionButton类,则必须增加一个新的与FunctionButton功能类似的类,导致类的个数增加。

(3)用户无法按照自己的需要来设置某个功能键的功能。一个功能键类的功能一旦固定,不修改源代码请情况下,无法更换功能,缺乏灵活性。


2. 命令模式概述

软件开发中,经常需要向某些类发送请求(调用其中的某个方法),但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个。

命令模式可以将请求发送者和接收者完全解耦,发送者与接收者之间没有直接引用关系,发送请求的对象只需要知道如何发送请求,而不必知道如何完成请求。

命令模式定义:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。别名:动作模式事务模式

命令模式的核心在于引入命令类,通过命令类来降低发送者和接收者的耦合度,请求发送者只需要指定一个命令对象,再通过命令对象来调用请求接收者的处理方法,结构如下图:

命令模式包含4个角色:

(1)抽象命令类(Command):抽象命令类一般是一个抽象类或接口,在其中声明了用于执行请求的Execute等方法,通过这些方法可以调用请求接收者的相关操作。

(2)具体命令类(ConcreteCommand):具体命令类是抽象命令类的子类,实现了在抽象命令类中声明的方法,它对应具体的接收者对象,将接收者对象的动作绑定到其中。在实现Execute方法时,将调用接收者对象的相关操作。

(3)调用者(Invoker):调用者即请求发送者,它通过命令对象来执行请求。一个调用者并不需要在设计时确定其接收者,因此它只与抽象命令类之间存在关联关系。在程序运行时可以将一个具体命令对象注入其中,再调用具体命令对象的Execute方法,从而实现间接调用请求接收者的相关操作。

(4)接收者(Receiver):接收者执行与请求相关的操作,它具体实现对请求的业务处理。

命令模式的本质是对请求进行封装,一个请求对应于一个命令,将发出命令的责任和执行命令的责任分割开。

命令模式关键在于引入抽象命令类,请求发送者针对抽象命令类编程,只有实现了抽象命令类的具体命令才与请求接收者相关联。在最简单的抽象命令类中只包含了一个抽象的Execute方法,每个具体命令类将一个Receiver类型的对象作为一个实例变量进行存储,从而具体指定一个请求的接收者,不同的具体命令提供了Execute方法的不同实现,并调用不同接收者的请求处理方法。

典型的抽象命令类

abstract class Command
{public abstract void Execute();
}

对于请求发送者调用者)而言,将针对抽象命令类进行编程,可以通过构造注入或者设值注入的方式在运行时传入具体命令类对象,并在业务方法中调用命令对象的Execute方法:

http://www.dtcms.com/wzjs/554424.html

相关文章:

  • 上海紫博蓝网站wordpress 写作
  • 网站空间选linux如何做滴滴网站平台
  • 网站搭建计划书wordpress php 并发
  • 招聘网站开发的要求网站源码 带后台
  • 网站用图怎么做文件小质量高网站建设需要多少钱文档
  • 专做电器的网站网站响应是什么问题吗
  • 网站不备案可以上线吗网站建设需要哪些证
  • 天津网站建设方案外包避免视觉效果混淆。
  • 企业网站程序新手学做网站电子版
  • 织梦网站每天被挂马wordpress 颜色选择器
  • 新乡企业网站排名优化网站新建设请示
  • 外贸建站上海设计师网址大全
  • 一个女装店网站建设的策划模板百度指数搜索榜
  • 网站规划小结智慧团建网站密码
  • 做网站哪家好哪家好电商平台系统分销系统
  • 没网站做cpa广告联盟网站链接 动态图怎么做
  • 水务局政务网站建设工作总结能做网站的网站
  • 武穴建设网站做基础网站主机要
  • 福建网站备案微信小程序怎么制作网页
  • 品牌网站建设报价单wordpress 添加图片
  • 网站建设公司发展理念网络系统建设与运维职业技能等级证书
  • 公众号 微网站开发网络营销与推广方案
  • 长沙网站开网站建设方案推广
  • 自己的电脑做网站当服务器使用医疗号网站开发
  • 怎么看别人网站是什么语言做的wordpress怎么改模板
  • 手机上做网站php江西省赣州市定南县
  • 网站内容策划方案香奈儿网站建设的目标
  • 国外网站设计版式欣赏那个网站可以做微课
  • 广州网页模板建站什么软件做电影短视频网站
  • 2016网站设计欣赏怎样自己免费建设一个网站