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

台州学校网站建设android小程序开发

台州学校网站建设,android小程序开发,招商网站如何做推广,公众号开发设计费用说明 命令模式#xff08;Command Pattern#xff09;是一种行为设计模式#xff0c;它将请求封装为一个对象#xff0c;以便在不同的请求者和接收者之间进行解耦、参数化和操作的队列化。命令模式允许你将具体的请求封装为对象#xff0c;这些对象之间彼此独立#xff…说明 命令模式Command Pattern是一种行为设计模式它将请求封装为一个对象以便在不同的请求者和接收者之间进行解耦、参数化和操作的队列化。命令模式允许你将具体的请求封装为对象这些对象之间彼此独立并且可以用不同的请求对客户端进行参数化。 结构 命令接口Command声明执行命令的方法。具体命令类Concrete Command实现命令接口负责执行具体的操作。接收者类Receiver包含了具体的操作方法由具体命令类调用。请求者类Invoker持有命令对象并在需要时调用命令的执行方法。 工作原理 创建命令接口并声明执行命令的方法如execute()。创建具体命令类实现命令接口并在execute()方法中调用接收者类的具体操作方法。创建接收者类包含了具体的操作方法。创建请求者类持有命令对象在需要时调用命令的execute()方法。 优点 解耦请求者和接收者命令模式将请求者和接收者之间解耦使得它们可以独立变化互不影响。可扩展性可以轻松添加新的命令类和接收者类而不会影响已有的代码。可撤销操作可以通过维护一个命令历史栈实现对命令的撤销和重做。 缺点 增加了类和对象的数量引入命令对象和接收者类会增加系统中的类和对象的数量。代码结构复杂化使用命令模式需要定义许多新的类和接口因此会增加代码结构的复杂性。 使用场景 需要将请求者和接收者解耦以便能够在不同的请求者和接收者之间进行灵活的变动和组合。需要支持撤销操作。需要将一系列的操作队列化即可以将命令对象存储在列表中并按顺序执行。 示例 下面以一个简单的股票交易系统为例介绍命令模式的应用。 假设我们有一个股票交易系统我们希望实现以下功能 可以买入股票BuyStock命令。可以卖出股票SellStock命令。可以撤销上一次的交易操作Undo命令。 首先我们定义命令接口Command声明了一个execute()方法 public interface Command {void execute(); } 然后我们创建具体的买入股票命令BuyStockCommand实现了Command接口 public class BuyStockCommand implements Command {private StockTrade stockTrade;public BuyStockCommand(StockTrade stockTrade) {this.stockTrade stockTrade;}public void execute() {stockTrade.buy();} } 再创建具体的卖出股票命令SellStockCommand同样实现了Command接口 public class SellStockCommand implements Command {private StockTrade stockTrade;public SellStockCommand(StockTrade stockTrade) {this.stockTrade stockTrade;}public void execute() {stockTrade.sell();} } 接下来我们创建股票交易类StockTrade它包含了具体的买入和卖出操作 public class StockTrade {public void buy() {System.out.println(买入股票);}public void sell() {System.out.println(卖出股票);} } 最后我们创建请求者类StockBroker它持有命令对象并在需要时调用命令的execute()方法 public class StockBroker {private Command buyStockCommand;private Command sellStockCommand;private Command undoCommand;public StockBroker(Command buyStockCommand, Command sellStockCommand, Command undoCommand) {this.buyStockCommand buyStockCommand;this.sellStockCommand sellStockCommand;this.undoCommand undoCommand;}public void buyStock() {buyStockCommand.execute();}public void sellStock() {sellStockCommand.execute();}public void undo() {undoCommand.execute();} } 现在我们可以创建股票交易系统的实例并进行操作 public class CommandExample {public static void main(String[] args) {// 创建股票交易对象StockTrade stockTrade new StockTrade();// 创建具体的命令对象Command buyStockCommand new BuyStockCommand(stockTrade);Command sellStockCommand new SellStockCommand(stockTrade);// 创建请求者对象StockBroker stockBroker new StockBroker(buyStockCommand, sellStockCommand, buyStockCommand);// 执行买入操作stockBroker.buyStock(); // 买入股票// 执行卖出操作stockBroker.sellStock(); // 卖出股票// 撤销操作stockBroker.undo(); // 买入股票} } 运行结果如下 买入股票 卖出股票 买入股票
http://www.hkea.cn/news/14524888/

相关文章:

  • 苏州网站建设营销推广深圳网络推广招聘
  • 网站建设技术服务的方式是什么下载ps软件免费版下载安装
  • 河南建设厅特种工报考网站先用ps后用dw做网站
  • 重庆住房和城乡建设厅网站宫免费网站
  • 网站建设动态实训报告菜鸟教程官网
  • 网站自适应代码app推广是什么工作
  • 新浪云sae免费wordpress网站8小8x人成免费观看网页
  • 安徽中擎建设公司网站搭建合作平台
  • 宁波专业做网站的公司哪家好cad培训班一般学费多少钱
  • 临沧网站建设临沧wordpress 不提示更新
  • 旅游网站管理系统php广州市重点公共建设项目官网
  • 网站怎样添加友情链接手机网站建设好吗
  • 网站代备案公司抽奖的网站怎么做
  • 包装设计接单网站wordpress 分类的地址
  • 广东智能网站建设哪家有速加网零件加工网
  • 专门做物业催收的网站横岗网站建设
  • 上海电商网站建设公司排名网站开发 精品课程
  • 内江网站建设0832hdsj做网站的钱付款用途写什么
  • 佛山市网站建站网站小工程承包信息网
  • 湖南省住房和城乡建设厅门户网站企业网站推广方案范例
  • 阿里巴巴国际站入驻费用及条件ui设计师培训班
  • 网站建设vps建设网站的价格表
  • 漯河做网站哪家好花桥网站建设公司
  • 沈阳网站设计推广做一套网站多钱
  • 石家庄有什么做网站的公司网站开发 功能不会写
  • 学网站建设软件开发潍坊网站建设联系方式
  • 网站开发在哪个科目核算做营销网站哪家好
  • 同仁行业网站建设报价wordpress迁移空间插件
  • 网站上添加百度地图阿里巴巴装修网站
  • 怎么看网站是用什么系统做的免费在线观看电影电视剧网站