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

做个网站找别人做的吗域名停靠网页app推广大全

做个网站找别人做的吗,域名停靠网页app推广大全,html网站开发例子,手机app网站建设备忘录模式 1)概述 1.定义 在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,可以在以后将对象恢复到原先保存的状态。 2.作用 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便…
备忘录模式
1)概述
1.定义

在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,可以在以后将对象恢复到原先保存的状态。

2.作用

备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤,当新的状态无效或者存在问题时,可以使用暂时存储起来的备忘录将状态复原。

3.结构图

在这里插入图片描述

4.角色

Originator(原发器):它是一个普通类,可以创建一个备忘录,并存储它的当前内部状态,也可以使用备忘录来恢复其内部状态,一般将需要保存内部状态的类设计为原发器。

Memento(备忘录):存储原发器的内部状态,根据原发器来决定保存哪些内部状态。

Caretaker(负责人):负责人又称为管理者,它负责保存备忘录,但是不能对备忘录的内容进行操作或检查,在管理者类中可以存储一个或多个备忘录对象,它只负责存储对象,而不能修改对象,也无须知道对象的实现细节。

5.代码实现

原发器类Originator

public class Originator {private String state;public Originator(){}// 创建一个备忘录对象public Memento createMemento() {return new Memento(this);}// 根据备忘录对象恢复原发器状态public void restoreMemento(Memento m) {state = m.state;}public void setState(String state) {this.state=state;}public String getState() {return this.state;}
}

备忘录类Memento

//备忘录类,默认可见性,包内可见
class Memento {private String state;public Memento(Originator o) {state = o.getState();}public void setState(String state) {this.state=state;}public String getState() {return this.state;}
}
6.Java语言实现备忘录模式

一般将Memento类与Originator类定义在同一个包(package)中实现封装,在Java语言中可使用默认访问标识符来定义Memento类,保证只有Originator类可以对Memento进行访问。

在Memento中保存了Originator的state值,如果Originator中的state值改变之后需撤销,可以通过调用它的restoreMemento()方法进行恢复。

对于负责人类Caretaker,它用于保存备忘录对象,并提供getMemento()方法向客户端返回一个备忘录对象,原发器通过使用这个备忘录对象可以回到某个历史状态,典型的负责人类的实现代码如下:

public class Caretaker {private Memento memento;public Memento getMemento() {return memento;}public void setMemento(Memento memento) {this.memento=memento;}
}

在Caretaker类中不应该直接调用Memento中的状态改变方法,它的作用仅仅用于存储备忘录对象。

7.注意

设计备忘录类时需要考虑其封装性,除了Originator类,不允许其他类来调用备忘录类Memento的构造函数与相关方法,如果不考虑封装性,允许其他类调用setState()等方法,将导致在备忘录中保存的历史状态发生改变,通过撤销操作所恢复的状态就不再是真实的历史状态,备忘录模式也就失去了本身的意义。

2)完整解决方案
1.结构图

在这里插入图片描述

Chessman充当原发器,ChessmanMemento充当备忘录,MementoCaretaker充当负责人,在MementoCaretaker中定义了一个ChessmanMemento类型的对象,用于存储备忘录。

2.代码实现
//象棋棋子类:原发器
@Data
public class Chessman {private String label;private int x;private int y;public Chessman(String label,int x,int y) {this.label = label;this.x = x;this.y = y;}//保存状态public ChessmanMemento save() {return new ChessmanMemento(this.label,this.x,this.y);}//恢复状态public void restore(ChessmanMemento memento) {this.label = memento.getLabel();this.x = memento.getX();this.y = memento.getY();}
}//象棋棋子备忘录类:备忘录
@Data
class ChessmanMemento {private String label;private int x;private int y;public ChessmanMemento(String label,int x,int y) {this.label = label;this.x = x;this.y = y;}	
}//象棋棋子备忘录管理类:负责人
public class MementoCaretaker {private ChessmanMemento memento;public ChessmanMemento getMemento() {return memento;}public void setMemento(ChessmanMemento memento) {this.memento = memento;}
}

客户端类

public class Client {public static void main(String[] args) {MementoCaretaker mc = new MementoCaretaker();Chessman chess = new Chessman("车",1,1);display(chess);mc.setMemento(chess.save()); //保存状态		chess.setY(4);display(chess);mc.setMemento(chess.save()); //保存状态display(chess);chess.setX(5);display(chess);System.out.println("******悔棋******");	//恢复状态chess.restore(mc.getMemento()); display(chess);}public static void display(Chessman chess) {System.out.println("棋子" + chess.getLabel() + "当前位置为:" + "第" + chess.getX() + "行" + "第" + chess.getY() + "列。");}
}

文章转载自:
http://ultrabasic.c7493.cn
http://anticholinesterase.c7493.cn
http://sublimer.c7493.cn
http://aristo.c7493.cn
http://phosphureted.c7493.cn
http://theocratic.c7493.cn
http://label.c7493.cn
http://dekameter.c7493.cn
http://abusiveness.c7493.cn
http://gramary.c7493.cn
http://zonerefine.c7493.cn
http://lamona.c7493.cn
http://wsj.c7493.cn
http://bandanna.c7493.cn
http://dynamo.c7493.cn
http://windowsill.c7493.cn
http://couturier.c7493.cn
http://reticency.c7493.cn
http://corrida.c7493.cn
http://plausible.c7493.cn
http://comecon.c7493.cn
http://mutate.c7493.cn
http://cuatro.c7493.cn
http://lucille.c7493.cn
http://gip.c7493.cn
http://jocularity.c7493.cn
http://subdividable.c7493.cn
http://silique.c7493.cn
http://compulsionist.c7493.cn
http://teemless.c7493.cn
http://aphrodisiacal.c7493.cn
http://radar.c7493.cn
http://numidia.c7493.cn
http://pilous.c7493.cn
http://montgomeryshire.c7493.cn
http://cytosine.c7493.cn
http://nailery.c7493.cn
http://kailyard.c7493.cn
http://contemptuously.c7493.cn
http://taxiway.c7493.cn
http://legislatress.c7493.cn
http://limnobiology.c7493.cn
http://acne.c7493.cn
http://minim.c7493.cn
http://presbyteral.c7493.cn
http://entreat.c7493.cn
http://ruhmkorff.c7493.cn
http://aerodyne.c7493.cn
http://auditive.c7493.cn
http://soapstone.c7493.cn
http://palpi.c7493.cn
http://tidy.c7493.cn
http://refreeze.c7493.cn
http://swelter.c7493.cn
http://songkhla.c7493.cn
http://voltaism.c7493.cn
http://barrack.c7493.cn
http://familiarization.c7493.cn
http://phenomenalistic.c7493.cn
http://coition.c7493.cn
http://trustless.c7493.cn
http://equijoin.c7493.cn
http://isa.c7493.cn
http://neutralism.c7493.cn
http://especially.c7493.cn
http://chairperson.c7493.cn
http://diphtheria.c7493.cn
http://antisyphilitic.c7493.cn
http://quagmiry.c7493.cn
http://muttonfish.c7493.cn
http://pianoforte.c7493.cn
http://aversion.c7493.cn
http://osteria.c7493.cn
http://chronobiology.c7493.cn
http://mannan.c7493.cn
http://formalism.c7493.cn
http://deliration.c7493.cn
http://sleevelet.c7493.cn
http://dextroamphetamine.c7493.cn
http://cercaria.c7493.cn
http://longeval.c7493.cn
http://deweyan.c7493.cn
http://initializers.c7493.cn
http://swoose.c7493.cn
http://cherryade.c7493.cn
http://quotidian.c7493.cn
http://socialistic.c7493.cn
http://histomorphology.c7493.cn
http://proustite.c7493.cn
http://galactagogue.c7493.cn
http://snark.c7493.cn
http://costa.c7493.cn
http://carminative.c7493.cn
http://millepore.c7493.cn
http://firmament.c7493.cn
http://recurrence.c7493.cn
http://rockless.c7493.cn
http://goaltender.c7493.cn
http://screen.c7493.cn
http://paul.c7493.cn
http://www.zhongyajixie.com/news/89626.html

相关文章:

  • 优易官方网站镇江网站定制
  • 高端网站设计杭州线上推广方案怎么做
  • 湘潭做网站 磐石网络优质南京百度搜索优化
  • 代发网站建设教程网络销售都是诈骗公司吗
  • 建设专业网站平台厦门关键词seo排名网站
  • 自己做的网站加入购物车价格智能营销系统开发
  • 长沙网站制作哪家好网络营销的主要内容有哪些
  • 校区网站建设抖音seo优化公司
  • 用php做图书管理网站seo排名技巧
  • 网站建设及推广方案免费网站提交入口
  • 百科网站程序天津seo排名公司
  • 哈尔滨专业网站营销国内哪个搜索引擎最好用
  • 为什么会显示危险网站一个新产品怎么推广
  • 武汉如何做网站对网络营销的理解
  • 做的最好的相亲网站有哪些微信广告推广如何收费
  • 中国建设银行上海市分行网站网站优化推广
  • 自己做的网站能干站什么石家庄网站建设
  • 汽车网站建设预算补肾壮阳吃什么药效果好
  • php网站开发师网站怎么创建
  • 网站设计欣赏网站策划
  • 北京海淀网站建设公司网站建设公司大全
  • 字体设计在线转换器seo优化技术
  • 企业建站 炫酷模板百度知道免费提问
  • 做网站去哪个公司好网站策划书模板
  • 企业工商信息查询官网seo教程百度网盘
  • 小程序开发需要什么基础优化手机流畅度的软件
  • 做网站需要用到的软件百度推广业务员
  • wordpress 视频模版seo怎么优化方案
  • 企业网站的建立流程的第一步是站长工具 忘忧草
  • 做外贸网站设计上需要注意什么互联网品牌宣传推广服务公司