关于【巨蟹座男生的性格脾气】,巨蟹座男是什么性格脾气,今天涌涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
内容导航:1、「设计模式」备忘录模式不只是记录怕忘记的东西那么简单2、巨蟹座男生的性格脾气:巨蟹座男是什么性格脾气1、「设计模式」备忘录模式不只是记录怕忘记的东西那么简单
什么是备忘录模式(Memento)
概念
备忘录(Memento)模式属于「行为型模式」,又叫作快照模式,定义:在不破坏封装性的前提下,捕获一个对象内部的状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。简单来说,就是「保存一个对象之前的状态,然后在某个时间回退到这个状态」。
我们使用的很多软件都提供了这个功能,我们使用的编辑工具,word、记事本、idea、typora等等,ctrl+z就可以回退自己的操作,「可以防止我们的误操作」。还有浏览器的倒退,可以让我们回到上一个页面。游戏中的存档,我们可以自己提前存入一个档,以后可以再次退回来。
ctrl+z
优点
给用户提供了一种可以恢复状态的机制,用户可以回退自己的操作。封装了内部状态。想要使用备忘录模式,需要把内部的数据都封装成一个状态。符合单一职责原则。由发起类无需管理状态,由管理类来管理状态。缺点
需要大量的资源。要保存状态对象是需要消耗内存资源,可以考虑设置一个状态对象的上限。原则
“+”代表遵守,“-”代表不遵守或者不相关
原则开放封闭单一职责迪米特里氏替换依赖倒置接口隔离合成复用-++----
适用场景
需要保存和恢复数据的情况。需要撤销操作的情况。这两种常见的代码实现会有一点点的不同,后面的例子中我会标注一下的。
如何实现
想要实现备忘录模式,需要以下三样东西:
发起类(Originator):依赖备忘录对象,创建备忘录对象,提供创建备忘录和恢复备忘录,发起类可以访问备忘录中的信息。备忘录类(Memento):记录发起类当前时刻的状态,并且保存在管理类中。管理类(Caretaker):管理备忘录对象,提供存储,回退备忘录等操作,管理类不能访问备忘录对象内的信息。类图
å¤å¿å½æ¨¡å¼çç»æå¾
上班小丑
开始敲代码!
举例
这里以记事本的回退操作为例,我们输入文字,每个版本的文字都保存起来,我们可以一个一个版本地回退。
「类图」
image-20210612225959096
「代码」
发起类
/** * 发起类 * 文本编辑器 * Created on 2021/6/12. * * @author xuxiaobai */public class TextEditor { //当前状态记录 private TextMemento currentRecord; //状态记录管理者 private TextCaretaker caretaker = new TextCaretaker(); /** * 提交文本记录 * * @param text */ public void commit(String text) { System.out.println("-----commit-----"); //更新当前记录 currentRecord = new TextMemento(text); //保存记录 caretaker.push(currentRecord); show(); } /** * 回退 */ public void ctrlZ() { System.out.println("-----ctrl+z-----"); TextMemento textMemento = caretaker.get(); if (textMemento == null) { //当备忘录为空,打印提示后返回 System.out.println("没有历史记录,无法回退"); return; } System.out.println("恢复记录"); this.currentRecord=textMemento; show(); } /** * 展示当前记录 */ public void show() { //获取备忘录中的text String text = currentRecord.getText(); System.out.println("当前记录为:“"+ (text ==null?"无": text)+"”"); }}
管理类
/** * * 文本备忘录管理类 * Created on 2021/6/12. * * @author xuxiaobai */public class TextCaretaker { /** * 备忘录存储栈 * 这是需要撤销操作的情况,才需要的 * 如果是需要保存和恢复数据的情况,可以考虑使用List来存储备忘录 */ Stack<TextMemento> stack=new Stack<>(); public void push(TextMemento memento){ stack.push(memento); } public TextMemento get(){ return stack.pop(); }}
备忘录类
/** * 文本备忘录 * Created on 2021/6/12. * * @author xuxiaobai */public class TextMemento { /** * 文本的属性 * 这里以String为例 * 如果你想更加复杂一点,可以增加多一点的属性 */ private String text; public TextMemento(String text){ this.text =text; } public String getText() { return text; } public TextMemento setText(String text) { this.text = text; return this; }}
测试类
public class MementoTest { public static void main(String[] args) { //文本编辑器 TextEditor editor=new TextEditor(); StringBuilder text=new StringBuilder("第一个版本的文字"); editor.commit(text.toString()); editor.commit(text.append(",再加第二版本").toString()); editor.commit(text.append(",再加第三版本").toString()); editor.show(); editor.ctrlZ(); editor.ctrlZ(); editor.ctrlZ(); /** * 结果: * -----commit----- * 当前记录为:“第一个版本的文字” * -----commit----- * 当前记录为:“第一个版本的文字,再加第二版本” * -----commit----- * 当前记录为:“第一个版本的文字,再加第二版本,再加第三版本” * 当前记录为:“第一个版本的文字,再加第二版本,再加第三版本” * -----ctrl+z----- * 恢复记录 * 当前记录为:“第一个版本的文字,再加第二版本,再加第三版本” * -----ctrl+z----- * 恢复记录 * 当前记录为:“第一个版本的文字,再加第二版本” * -----ctrl+z----- * 恢复记录 * 当前记录为:“第一个版本的文字” */ }}
这里的例子我都是直接创建对象的,偶尔偷个懒嘛,我这里建议在实际开发中运用的话,还是要去创建一个顶层的接口,然后声明的时候依赖于接口,这样才符合依赖倒转原则嘛。
小黄鸡扯紫色内裤动图
总结
备忘录模式和其他模式相比有很大的不同,它是为了能让我们「回退我们的操作」,保存了过往的状态,我们在合适的时间恢复。在使用备忘录模式时需要注意,只有发起类这个角色才能去组合备忘录和管理者,不要把这两个角色暴露给这个模式外的对象,也只有发起类才能去读取备忘录中的数据,管理者只负责管理备忘录,还有呢,使用备忘录模式是需要「消耗内存」的,也可以考虑把这些备忘录写入到数据库中,不过使用的时候还是得写入内存中。
2、巨蟹座男生的性格脾气:巨蟹座男是什么性格脾气
巨蟹座男是什么性格脾气
巨蟹座男生的真实性格:性格温柔又敏感
巨蟹座男生性格温柔体贴,待人真诚,不易与人产生摩擦,而且他们的竞争意识也比较弱,具有谦让的美德。巨蟹座的男生心肠很软,特别是遇到不公平的事情,总是很愤慨,而且民族意识特别的强。巨蟹座男生的心思也很细腻,但做人做事缺乏灵活性和韧劲,容易半途而废,错失很多良机。还有巨蟹座男生遇事容易多想,很敏感,常常陷入杞人忧天的困境。水象巨蟹座女生性格特点,天生敏锐第六感超强!
巨蟹座男生的真实性格:家庭责任感很强
巨蟹座男生是十二星座中典型的`好老公、好父亲、好儿子,对于家庭有很强的责任心。可以说巨蟹座男生是敏感而又温暖的超级暖男,他总是能悉心洞察出家人的情绪变化,将家人照顾的稳稳当当。在结婚之后,巨蟹座男生会变得很坚强,不会再时时刻刻的粘着对方,而是努力开拓自己的事业,为家庭创造优越的物质条件。
巨蟹男的特点是什么?
1、勤俭节约、踏实:别看巨蟹男一个大男人,但是异常的热爱家庭生活。生活上中的琐事,他能做到里里外外的精通,日子过得也很是勤俭节约。巨蟹男是一个踏踏实实过日子的人,不会整什么花里胡哨的东西。
2、情绪多变、有点固执:巨蟹男很感性,会被情绪而牵制,从而影响工作、生活和学习。生活顺遂的时候,巨蟹男兴致高昂,但一旦身处逆境,巨蟹座就容易破罐子破摔,走极端。而且也有点固执,认准了就是蒙着脑袋走到底。
3、外表成熟稳重、内心闷骚:巨蟹男外表多稳重,但内心却多孩子气,甚至还有点闷骚。巨蟹男狂热与闷骚,只差一根导火索,就看你能不能将他释放出来。巨蟹座和双鱼座配对揭秘:一见钟情,再见倾心,冲着结婚去的一对
4、小虚伪、自卑:巨蟹男表面看起来总是有一副硬硬的壳,其实那壳子底下是一颗柔软敏感自卑的心。他十分在意被人对自己的看法,被夸奖时,表面谦虚,其实内心小窃喜。被批评时,也会显得很谦虚,但内心的第一感觉是不爽,其次才会反省是不是自己真的如此。
5、心思细腻、洞察力很强:巨蟹男记忆性佳,而且洞察力很强,对于那些经常被人忽略的细枝末节,巨蟹男却总能留意到。而且习惯将眼前的事物与过去比较,总能得到不一样的收获。可能在被人的眼里会觉得过于琐碎,但巨蟹座却觉得很值得!
巨蟹座男是什么性格脾气
巨蟹座男生的性格
1、巨蟹座的男生对待事业和生活极其认真,然而有时不顾现实地固执己见,对没有的到他认可的问题或事,他会采取顽强的抵制态度。
2、巨蟹座的男生母亲对他的一生起至关重要的作用,或者说他很难摆脱母亲的影响,他甚至试图通过恋爱来寻求同样的爱。
3、巨蟹座的男生非常需要别人的信任,需要温情。他对异性情感方面的需求胜过另一方面,或者二者兼需。性格内向,且带有某种被动性。敏感使他很容易由于别人有意或无意的缺乏热情或怠慢而受触怒。
4、巨蟹座性格是宁愿离那些纠缠不清或不愉快的事情远远的,因为他本身很容易受各种烦躁不安的影响。在那些与自己志趣不相投的人面前,他会感到心情不畅而宁愿沉默或离去。
本文关键词:巨蟹座男生是什么性格脾气,巨蟹座男生的性格和脾气,巨蟹座的性格脾气男生,巨蟹男的性格脾气,巨蟹座男是什么性格脾气暴躁。这就是关于《巨蟹座男生的性格脾气,巨蟹座男是什么性格脾气(备忘录模式不只是记录怕忘记的东西那么简单)》的所有内容,希望对您能有所帮助!