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

网站建设费算办公费吗html5商城网站模板

网站建设费算办公费吗,html5商城网站模板,汽车行业网站建设比较,上海装修公司哪家最好引言 备忘录模式#xff08;Memento Pattern#xff09;是一种行为设计模式#xff0c;它允许在不破坏封装的情况下捕获和恢复对象的内部状态。备忘录模式通过保存对象的状态来实现撤销操作。该模式通常用于需要保存历史状态的应用中#xff0c;例如编辑器、事务管理等。在…引言 备忘录模式Memento Pattern是一种行为设计模式它允许在不破坏封装的情况下捕获和恢复对象的内部状态。备忘录模式通过保存对象的状态来实现撤销操作。该模式通常用于需要保存历史状态的应用中例如编辑器、事务管理等。在金融业务中备忘录模式被广泛应用于交易回滚、历史记录等场景。本文将介绍备忘录模式在金融业务中的使用并探讨哪些框架中应用了备忘录模式及其实现方式。 设计原理 备忘录模式主要涉及以下三个角色 原发器Originator创建一个包含其当前内部状态的备忘录并使用该备忘录恢复内部状态。备忘录Memento存储原发器的内部状态并防止除了原发器之外的对象访问备忘录。负责人Caretaker负责保存备忘录但不能操作或检查备忘录的内容。 类图 下图展示了备忘录模式的类图 #mermaid-svg-82qgT6DkbzJjScpP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-82qgT6DkbzJjScpP .error-icon{fill:#552222;}#mermaid-svg-82qgT6DkbzJjScpP .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-82qgT6DkbzJjScpP .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-82qgT6DkbzJjScpP .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-82qgT6DkbzJjScpP .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-82qgT6DkbzJjScpP .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-82qgT6DkbzJjScpP .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-82qgT6DkbzJjScpP .marker{fill:#333333;stroke:#333333;}#mermaid-svg-82qgT6DkbzJjScpP .marker.cross{stroke:#333333;}#mermaid-svg-82qgT6DkbzJjScpP svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-82qgT6DkbzJjScpP g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-82qgT6DkbzJjScpP g.classGroup text .title{font-weight:bolder;}#mermaid-svg-82qgT6DkbzJjScpP .nodeLabel,#mermaid-svg-82qgT6DkbzJjScpP .edgeLabel{color:#131300;}#mermaid-svg-82qgT6DkbzJjScpP .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-82qgT6DkbzJjScpP .label text{fill:#131300;}#mermaid-svg-82qgT6DkbzJjScpP .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-82qgT6DkbzJjScpP .classTitle{font-weight:bolder;}#mermaid-svg-82qgT6DkbzJjScpP .node rect,#mermaid-svg-82qgT6DkbzJjScpP .node circle,#mermaid-svg-82qgT6DkbzJjScpP .node ellipse,#mermaid-svg-82qgT6DkbzJjScpP .node polygon,#mermaid-svg-82qgT6DkbzJjScpP .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-82qgT6DkbzJjScpP .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-82qgT6DkbzJjScpP g.clickable{cursor:pointer;}#mermaid-svg-82qgT6DkbzJjScpP g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-82qgT6DkbzJjScpP g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-82qgT6DkbzJjScpP .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-82qgT6DkbzJjScpP .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-82qgT6DkbzJjScpP .dashed-line{stroke-dasharray:3;}#mermaid-svg-82qgT6DkbzJjScpP #compositionStart,#mermaid-svg-82qgT6DkbzJjScpP .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #compositionEnd,#mermaid-svg-82qgT6DkbzJjScpP .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #dependencyStart,#mermaid-svg-82qgT6DkbzJjScpP .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #dependencyStart,#mermaid-svg-82qgT6DkbzJjScpP .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #extensionStart,#mermaid-svg-82qgT6DkbzJjScpP .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #extensionEnd,#mermaid-svg-82qgT6DkbzJjScpP .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #aggregationStart,#mermaid-svg-82qgT6DkbzJjScpP .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP #aggregationEnd,#mermaid-svg-82qgT6DkbzJjScpP .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-82qgT6DkbzJjScpP .edgeTerminals{font-size:11px;}#mermaid-svg-82qgT6DkbzJjScpP :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} creates stores Originator - state: String createMemento() restoreMemento(memento: Memento) Memento - state: String getState() setState(state: String) Caretaker - memento: Memento getMemento() setMemento(memento: Memento) 备忘录模式在金融业务中的应用 1. 交易回滚 在金融交易系统中当交易出现错误时需要将系统状态恢复到交易前的状态。可以使用备忘录模式实现交易回滚。 // 原发器类 public class Transaction {private String state;public void setState(String state) {this.state state;}public String getState() {return state;}public Memento createMemento() {return new Memento(state);}public void restoreMemento(Memento memento) {state memento.getState();} }// 备忘录类 public class Memento {private String state;public Memento(String state) {this.state state;}public String getState() {return state;} }// 负责人类 public class Caretaker {private Memento memento;public Memento getMemento() {return memento;}public void setMemento(Memento memento) {this.memento memento;} }// 客户端代码 public class MementoPatternDemo {public static void main(String[] args) {Transaction transaction new Transaction();Caretaker caretaker new Caretaker();transaction.setState(State1);caretaker.setMemento(transaction.createMemento());transaction.setState(State2);System.out.println(Current State: transaction.getState());transaction.restoreMemento(caretaker.getMemento());System.out.println(Restored State: transaction.getState());} }备忘录模式在框架中的应用 1. Java Serialization Java 的序列化机制允许将对象的状态保存到一个字节流中然后可以从字节流中恢复对象。这种机制类似于备忘录模式可以用于实现对象的持久化和恢复。 // 保存对象状态 FileOutputStream fileOut new FileOutputStream(object.ser); ObjectOutputStream out new ObjectOutputStream(fileOut); out.writeObject(transaction); out.close(); fileOut.close();// 恢复对象状态 FileInputStream fileIn new FileInputStream(object.ser); ObjectInputStream in new ObjectInputStream(fileIn); Transaction restoredTransaction (Transaction) in.readObject(); in.close(); fileIn.close();总结 备忘录模式在金融业务中具有广泛的应用可以灵活地实现交易回滚、状态恢复等功能。在框架中备忘录模式也被广泛应用于实现对象的持久化和恢复使得系统更具灵活性和可扩展性。 参考文献 Refactoring Guru - Memento PatternJava Serialization Documentation 互动与反馈 如果你觉得这篇文章对你有帮助请点赞、收藏并关注我以便获得更多优质内容如有疑问或建议欢迎在评论区留言我会及时回复。感谢阅读
http://www.pierceye.com/news/796254/

相关文章:

  • 188旅游网站源码下载做个爬架网站如何做
  • 中国做的比较好的网站设计公司有哪些可以做翻译兼职的网站吗
  • 深圳做网站建设公司dw学生个人网页制作视频
  • html网页设计代码作业网站衡水武邑县建设局网站
  • 网站后台登陆验证码wordpress 前台加载慢
  • 网站推广去哪家比较好专门做网站的公司叫什么
  • 前端做项目的网站资源公司做网站的步骤
  • 资源分享网站怎么建设网站建设百度云
  • 宣讲家网站官德修养与作风建设短视频seo关键词
  • 更新网站怎么弄建设工程合同范本工程施工合同范本
  • 外贸网站建设有什么需要注意的吗白山网站设计
  • 哪家做网站性价比高宁波seo网络优化哪家好
  • 望京做网站微信订阅号怎么做网站
  • 分销系统网站建设网站建设 51下拉平台
  • 怎么才能自己做网站怎么自己制作app
  • 爱看视频的网站政务公开既网站信息化建设会议
  • 做外单什么网站好网站模板下载之后怎么做
  • 网站维护细则微博同步wordpress
  • 网站微商城的建设新网域名备案
  • 网站举报有奖平台北京vi设计公司怎么样
  • Wix做的网站在国内打不开网站开发专业就业好不好
  • php语言做网站网站流量与带宽
  • 网站推广经验做网站职校选什么专业
  • 搜英文关键词网站凯里seo排名优化
  • 哪个网站可以帮忙做简历培训网网站源码
  • 万宁市住房和城乡建设局网站自助建站加盟
  • 创建一个网站需要什么wordpress 支付 api接口
  • 怎么样做免费网站建筑招工找活平台
  • 虚拟机中做网站家政服家政服务网站模板
  • 佛山企业网站建设流程网站开发 前端如何学习