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

门户网站建设要求几款免费流程图制作软件

门户网站建设要求,几款免费流程图制作软件,免费网络wifi连接,网站怎么做值班表说明 命令模式#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.w-s-a.com/news/210203/

相关文章:

  • 花生壳域名可以做网站域名吗wordpress内链工具
  • 猎头公司网站模板网站伪静态作用
  • 工程建设教育网站html成品网页模板下载
  • 同一ip 网站 权重wordpress 菜单 小图标
  • 网站没有icp备案wordpress d8主题 4.1
  • 手机网站建设推荐企业宣传页模板
  • 杭州市富阳区建设局网站动态域名做网站
  • 网站如何免费做SEO优化靖安县城乡规划建设局网站
  • 室内设计网站平台学新媒体运营最好的培训学校
  • 招聘网站建设工作总结湘潭seo
  • 台山网站设计哈尔滨网站建设外包公司
  • 常州城投建设招标网站网页设计入门教学视频
  • 石家庄教育平台网站建设wordpress 访问量统计
  • 为什么买的网站模版不好用ftp网站建设
  • 做网站办公照片crm系统视频
  • 网站建设 招标文件南昌做网络推广的
  • 增城电子商务网站建设浙江省住房和城乡建设部网站
  • 企业网站宽度给多少手机软件开发公司排名
  • 装修设计网站哪个平台最好免费自助建站工具
  • 网站建设规划结构网站服务费怎么做分录
  • 哪里有做网站的公司微商怎么开店步骤
  • 访问不了服务器的网站北京工业产品设计公司
  • 怎么棋牌网站建设口碑好的福州网站建设
  • 怎么样注册一个网站南通网站定制搭建
  • 网站免费正能量软件下载wordpress 多本小说
  • 临淄网站制作价格低长沙谷歌seo收费
  • 吴江公司网站建设电话免费的那种软件
  • 大淘客网站如何做seo网络广告设计公司
  • 厦门网络营销顾问湘潭网站seo
  • asp.net个人网站淮南 搭建一个企业展示网站