您当前的位置:首页 > 精选问答 > 内容

维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)

关于【维生素d的作用和功效】,维生素c的作用和功效,今天犇涌小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、「设计模式」备忘录模式不只是记录怕忘记的东西那么简单2、维生素d的作用和功效

1、「设计模式」备忘录模式不只是记录怕忘记的东西那么简单

什么是备忘录模式(Memento)

概念

备忘录(Memento)模式属于「行为型模式」,又叫作快照模式,定义:在不破坏封装性的前提下,捕获一个对象内部的状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。简单来说,就是「保存一个对象之前的状态,然后在某个时间回退到这个状态」

我们使用的很多软件都提供了这个功能,我们使用的编辑工具,word、记事本、idea、typora等等,ctrl+z就可以回退自己的操作,「可以防止我们的误操作」。还有浏览器的倒退,可以让我们回到上一个页面。游戏中的存档,我们可以自己提前存入一个档,以后可以再次退回来。

维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)

ctrl+z

优点

给用户提供了一种可以恢复状态的机制,用户可以回退自己的操作。封装了内部状态。想要使用备忘录模式,需要把内部的数据都封装成一个状态。符合单一职责原则。由发起类无需管理状态,由管理类来管理状态。

缺点

需要大量的资源。要保存状态对象是需要消耗内存资源,可以考虑设置一个状态对象的上限。

原则

“+”代表遵守,“-”代表不遵守或者不相关

原则开放封闭单一职责迪米特里氏替换依赖倒置接口隔离合成复用-++----

适用场景

需要保存和恢复数据的情况。需要撤销操作的情况。

这两种常见的代码实现会有一点点的不同,后面的例子中我会标注一下的。

如何实现

想要实现备忘录模式,需要以下三样东西:

发起类(Originator):依赖备忘录对象,创建备忘录对象,提供创建备忘录和恢复备忘录,发起类可以访问备忘录中的信息。备忘录类(Memento):记录发起类当前时刻的状态,并且保存在管理类中。管理类(Caretaker):管理备忘录对象,提供存储,回退备忘录等操作,管理类不能访问备忘录对象内的信息。

类图

维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)

备忘录模式的结构图

维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)

上班小丑

开始敲代码!

举例

这里以记事本的回退操作为例,我们输入文字,每个版本的文字都保存起来,我们可以一个一个版本地回退。

「类图」

维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)

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----- * 恢复记录 * 当前记录为:“第一个版本的文字” */ }}

这里的例子我都是直接创建对象的,偶尔偷个懒嘛,我这里建议在实际开发中运用的话,还是要去创建一个顶层的接口,然后声明的时候依赖于接口,这样才符合依赖倒转原则嘛。

维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)

小黄鸡扯紫色内裤动图

总结

备忘录模式和其他模式相比有很大的不同,它是为了能让我们「回退我们的操作」,保存了过往的状态,我们在合适的时间恢复。在使用备忘录模式时需要注意,只有发起类这个角色才能去组合备忘录和管理者,不要把这两个角色暴露给这个模式外的对象,也只有发起类才能去读取备忘录中的数据,管理者只负责管理备忘录,还有呢,使用备忘录模式是需要「消耗内存」的,也可以考虑把这些备忘录写入到数据库中,不过使用的时候还是得写入内存中。

2、维生素d的作用和功效

维生素d的作用和功效

1、促进钙吸收

维生素d是人体正常代谢时必需的一种营养成分,而且这种营养被人体吸收以后,可以促进人体对微量元素钙的吸收与利用,可以使人体血浆钙的水平达到饱和状态,平时多食用一些含有维生素d的食物能预防缺钙。

2、促进磷吸收

平时多吃一些富含维生素b的食物,还能促进身体对微量元素磷的吸收,而且这种物质在进入人体以后,不单可以让肠壁吸收丰富的微量元素里,还可以通过肾小管增加身体对微量元素磷的吸收量,可以让人体内血浆磷的含量达到饱和。

3、促进骨骼发育

平时多吃一些富含维生素d的食物,对骨骼发育大有好处,它能让身体吸收丰富的微量元素钙,可以促进骨骼发育生长,也能增强骨密度,预防骨质疏松,而且它还能促进人体牙齿发育,生活中那些处于生长发育期的青少年,多吃一些富含维生素d的食物,对身体发育大有好处。

4、预防疾病

维生素d是维持人体健康的重要营养成分,如果身体不能吸收丰富的维生素d就会导致多种疾病高发,特别是佝偻病,手足抽搐以及软骨病等的发病率特别高,平时多吃富含维生素b的食物,或者及时为身体补充维生素b就能有效预防这些疾病发生。

维生素d的作用和功效

1、促进钙吸收

维生素d是人体正常代谢时必需的一种营养成分,而且这种营养被人体吸收以后,可以促进人体对微量元素钙的吸收与利用,可以使人体血浆钙的水平达到饱和状态,平时多食用一些含有维生素d的食物能预防缺钙。

2、促进磷吸收

平时多吃一些富含维生素b的食物,还能促进身体对微量元素磷的吸收,而且这种物质在进入人体以后,不单可以让肠壁吸收丰富的微量元素里,还可以通过肾小管增加身体对微量元素磷的吸收量,可以让人体内血浆磷的含量达到饱和。

3、促进骨骼发育

平时多吃一些富含维生素d的食物,对骨骼发育大有好处,它能让身体吸收丰富的微量元素钙,可以促进骨骼发育生长,也能增强骨密度,预防骨质疏松,而且它还能促进人体牙齿发育,生活中那些处于生长发育期的青少年,多吃一些富含维生素d的食物,对身体发育大有好处。

4、预防疾病

维生素d是维持人体健康的重要营养成分,如果身体不能吸收丰富的维生素d就会导致多种疾病高发,特别是佝偻病,手足抽搐以及软骨病等的发病率特别高,平时多吃富含维生素b的食物,或者及时为身体补充维生素b就能有效预防这些疾病发生。

维生素d的作用和功效

维生素d怎么补

1、晒太阳

给身体补充丰富维生素d是可以经常晒太阳,因为人体在接受紫外线照射以后,会把身体中含有的胆固醇尽快转化成身体,正常代谢是必须的`维生素d,另外紫外线照耀在人们皮肤上,还会消除多种病毒,能防止皮肤细胞癌变,它对人类皮肤癌也有一定预防作用,但过强的紫外线会让皮肤受伤,所以人们晒太阳时一定要掌握合适的度。

2、吃金枪鱼罐头

吃金枪鱼罐头也是人们补充维生素d的常用方法,因为金枪鱼中含有大量的维生素d,原来使用它制成了罐头后,能尽快把它含有的这种维生素吸收和利用能满足身体对维生素d的需要。如果有条件还可以吃新鲜的金枪鱼,只是这种鱼在市场上的售价比较高,有些人消费不起,但鱼罐头相对来说价格比较低,更容易让人接受。

3、吃鸡蛋

人体缺乏维生素d是可以通过吃鸡蛋来补充,因为鸡蛋是一种高营养食材,它不但含有丰富卵磷脂和蛋白质,还含有丰富的维生素d,人们每天吃2~3个鸡蛋就能满足身体,正常代谢是对维生素d的需要,而且能让人们因缺乏维生素,d出现的身体不适很快好转。

4、服用保健品

人体在缺乏维生素d时,还可以服用维生素d的保健品,像维生素d滴剂以及滴丸还有软胶囊等,都是人们补充维生素d的最好方法,每次只需要服用1~2粒软胶囊或者5~10滴滴剂就能满足人体一天对维生素d的需要。除了这些方法以外,人们还可以通过多吃蘑菇和多喝强化牛奶来为身体补充维生素d,它们都是高营养食材

本文关键词:维生素c的作用和功效,维生素b1的作用和功效,维生素d滴剂的作用和功效,维生素d的作用和功效及副作用,维生素D3的作用和功效。这就是关于《维生素d的作用和功效,维生素c的作用和功效(备忘录模式不只是记录怕忘记的东西那么简单)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 一个人崩溃的心情说说,一个人崩溃了的说说心情(内心崩溃的伤感说说)

下一篇: 天秤男试探你的方式,天秤男试探你有哪些方式(全球首座20万千瓦高温气冷堆核电站今年发电)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号