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

网站后台密码文件合肥网页设计哪家服务好

网站后台密码文件,合肥网页设计哪家服务好,专业旅游网站制作,wordpress百度云存储引言 命令模式#xff08;Command Pattern#xff09;是一种行为设计模式#xff0c;它将一个请求封装为一个对象#xff0c;从而使你可以用不同的请求对客户进行参数化#xff0c;并且支持请求的排队和撤销操作。在金融业务中#xff0c;命令模式可以用于实现交易请求、…引言 命令模式Command Pattern是一种行为设计模式它将一个请求封装为一个对象从而使你可以用不同的请求对客户进行参数化并且支持请求的排队和撤销操作。在金融业务中命令模式可以用于实现交易请求、撤销操作等功能。本文将介绍命令模式在金融业务中的使用并探讨其在Spring框架中的实现方式。 设计原理 命令模式主要涉及以下几个角色 命令Command定义执行操作的接口。具体命令Concrete Command实现命令接口执行具体操作。接收者Receiver执行具体操作的对象。调用者Invoker请求命令执行。客户端Client创建具体命令对象并设置它的接收者。 类图 下图展示了命令模式的类图 #mermaid-svg-x3uAsZL73w5TktPu {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-x3uAsZL73w5TktPu .error-icon{fill:#552222;}#mermaid-svg-x3uAsZL73w5TktPu .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-x3uAsZL73w5TktPu .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-x3uAsZL73w5TktPu .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-x3uAsZL73w5TktPu .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-x3uAsZL73w5TktPu .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-x3uAsZL73w5TktPu .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-x3uAsZL73w5TktPu .marker{fill:#333333;stroke:#333333;}#mermaid-svg-x3uAsZL73w5TktPu .marker.cross{stroke:#333333;}#mermaid-svg-x3uAsZL73w5TktPu svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-x3uAsZL73w5TktPu g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-x3uAsZL73w5TktPu g.classGroup text .title{font-weight:bolder;}#mermaid-svg-x3uAsZL73w5TktPu .nodeLabel,#mermaid-svg-x3uAsZL73w5TktPu .edgeLabel{color:#131300;}#mermaid-svg-x3uAsZL73w5TktPu .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-x3uAsZL73w5TktPu .label text{fill:#131300;}#mermaid-svg-x3uAsZL73w5TktPu .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-x3uAsZL73w5TktPu .classTitle{font-weight:bolder;}#mermaid-svg-x3uAsZL73w5TktPu .node rect,#mermaid-svg-x3uAsZL73w5TktPu .node circle,#mermaid-svg-x3uAsZL73w5TktPu .node ellipse,#mermaid-svg-x3uAsZL73w5TktPu .node polygon,#mermaid-svg-x3uAsZL73w5TktPu .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-x3uAsZL73w5TktPu .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-x3uAsZL73w5TktPu g.clickable{cursor:pointer;}#mermaid-svg-x3uAsZL73w5TktPu g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-x3uAsZL73w5TktPu g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-x3uAsZL73w5TktPu .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-x3uAsZL73w5TktPu .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-x3uAsZL73w5TktPu .dashed-line{stroke-dasharray:3;}#mermaid-svg-x3uAsZL73w5TktPu #compositionStart,#mermaid-svg-x3uAsZL73w5TktPu .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #compositionEnd,#mermaid-svg-x3uAsZL73w5TktPu .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #dependencyStart,#mermaid-svg-x3uAsZL73w5TktPu .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #dependencyStart,#mermaid-svg-x3uAsZL73w5TktPu .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #extensionStart,#mermaid-svg-x3uAsZL73w5TktPu .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #extensionEnd,#mermaid-svg-x3uAsZL73w5TktPu .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #aggregationStart,#mermaid-svg-x3uAsZL73w5TktPu .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu #aggregationEnd,#mermaid-svg-x3uAsZL73w5TktPu .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-x3uAsZL73w5TktPu .edgeTerminals{font-size:11px;}#mermaid-svg-x3uAsZL73w5TktPu :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Command execute() ConcreteCommand - receiver: Receiver execute() Receiver action() Invoker - command: Command setCommand(command: Command) executeCommand() 命令模式在金融业务中的应用 1. 交易请求和撤销操作 在金融交易系统中命令模式可以用于实现交易请求和撤销操作。例如当用户发起交易请求时可以将请求封装为命令对象并将其放入队列中执行。同时还可以实现撤销功能通过记录已执行的命令来实现交易的撤销。 // 命令接口 public interface Command {void execute();void undo(); }// 具体命令类 public class BuyStockCommand implements Command {private StockTrade stock;public BuyStockCommand(StockTrade stock) {this.stock stock;}Overridepublic void execute() {stock.buy();}Overridepublic void undo() {stock.sell();} }public class SellStockCommand implements Command {private StockTrade stock;public SellStockCommand(StockTrade stock) {this.stock stock;}Overridepublic void execute() {stock.sell();}Overridepublic void undo() {stock.buy();} }// 接收者类 public class StockTrade {public void buy() {System.out.println(Stock bought);}public void sell() {System.out.println(Stock sold);} }// 调用者类 public class Broker {private ListCommand commandList new ArrayList();public void takeOrder(Command command) {commandList.add(command);}public void placeOrders() {for (Command command : commandList) {command.execute();}commandList.clear();}public void undoOrder(Command command) {command.undo();} }// 客户端代码 public class CommandPatternDemo {public static void main(String[] args) {StockTrade stock new StockTrade();Command buyStock new BuyStockCommand(stock);Command sellStock new SellStockCommand(stock);Broker broker new Broker();broker.takeOrder(buyStock);broker.takeOrder(sellStock);broker.placeOrders();broker.undoOrder(buyStock);broker.undoOrder(sellStock);} }命令模式在Spring框架中的应用 Spring Batch Spring Batch 是 Spring 提供的一个用于批处理的框架使用命令模式来定义任务和步骤。每个步骤都是一个命令对象负责执行特定的任务。 1. Spring Batch 配置示例 beans:beans xmlns:beanshttp://www.springframework.org/schema/beansxmlns:batchhttp://www.springframework.org/schema/batchxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/batchhttp://www.springframework.org/schema/batch/spring-batch.xsdbatch:job idtransactionJobbatch:step idstep1batch:tasklet reftransactionTasklet//batch:step/batch:jobbeans:bean idtransactionTasklet classcom.example.TransactionTasklet//beans:beans2. Spring Batch 任务示例 public class TransactionTasklet implements Tasklet {Overridepublic RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {System.out.println(Executing transaction task);// 具体的交易处理逻辑return RepeatStatus.FINISHED;} }// 客户端代码 public class SpringBatchDemo {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(spring-batch-config.xml);JobLauncher jobLauncher context.getBean(JobLauncher.class);Job transactionJob context.getBean(transactionJob, Job.class);try {JobExecution execution jobLauncher.run(transactionJob, new JobParameters());System.out.println(Job Exit Status : execution.getStatus());} catch (Exception e) {e.printStackTrace();}} }总结 命令模式在金融业务中具有广泛的应用可以灵活地实现交易请求、撤销操作等功能。在Spring框架中命令模式通过Spring Batch等机制得到了广泛应用使得系统更具灵活性和可扩展性。 参考文献 Refactoring Guru - Command PatternSpring Batch Documentation 互动与反馈 如果你觉得这篇文章对你有帮助请点赞、收藏并关注我以便获得更多优质内容如有疑问或建议欢迎在评论区留言我会及时回复。感谢阅读 希望这对你有帮助如果你有其他设计模式需要了解请告诉我。
http://www.pierceye.com/news/365465/

相关文章:

  • 网站备案 游戏易企推
  • 男人做想看的免费网站网页设计有哪些岗位
  • 南江县规划和建设局网站怎样做淘宝客导购网站
  • 浦江县住房和城乡建设局网站校园网站开发方案
  • 微做网站网站开发源代码
  • 福建省住房城乡建设部网站fusionaccess免费服务器
  • 山东省春季高考网站建设试题莱芜在线论坛莱芜话题秦立奉
  • 太原城市建设招标网站电子商务是干什么的具体
  • 网站 营销网站的备案的要多少钱
  • 网站模板 源码wordpress手机端装换
  • 咋把网站制作成软件wordpress添加单页模板
  • 大连网站平台研发偷别人的WordPress主题
  • 做网站ps文字有锯齿公司做外地网站
  • 如何在百度提交自己的网站梦织和wordpress特点
  • 毕业设计做网站还是系统好网站可以随便创建么
  • 做网站与网页有什么区别昊客网络
  • 临沂地区建站网站设计一个企业网站首页
  • wordpress本地建站精准信息预测
  • 云服务器如何安装网站爱站网seo综合查询
  • 个人建什么样的网站好wordpress添加用户登录
  • 中国教育网站官网做网站购买域名之后
  • 公司网站建设的优势新图闻的品牌建设经验
  • 网站建设是在商标哪个类别深圳宝安区新安街道
  • 网站推广服务器怎么选wordpress获取菜单链接地址
  • 横岗做网站外贸网站建设推广优化
  • 怎样搭建一个个人网站国金紫郡府淮北论坛
  • 网站建设类型wordpress词典模板
  • wordpress标签订阅插件优化网站视频
  • 聊城市建设工程质量监督站网站济南建站公司哪有
  • 郑州做网站便宜没有有知道钓鱼网站在哪儿做