信管网试题库
软件设计师 - 试题库 导航

在软件系统中,通常都会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态

2022年05月30日来源:信管网 作者:cnitpm

2022年上半年软件设计师下午案例分析真题:

试题六:阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

在软件系统中,通常都会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求,得到如图6-1所示的类图。Memento包含了要被恢复的状态。Originator创建并在Memento中存储状态。Caretaker负责从Memento中恢复状态。

图6-1类图

【Uava代码】

import java.util.*;

class Memento {

private String state;

public Memento(String state){this.state=state;}

public String getState(){return state;}

}

class Originator{

private String state;

public void setState(String state){this.state=state;}

public String getState(){ retum state;}

public Memento saveStateToMemento(){

Return (1)

}

public void getStateFromMemento(Memento Memento){

state =(2)

}

class CareTaker

Public(3)

mementoLstadd如aney

}

public (4)

return memensoLint get (imdat

}

}

class MementoPaneDems{

pubic static voiid main(Stringf]

Ohgiator aniginutor-te Origmrfy

CareThker careTukeznwCmiie)

aniginuntorseStte(State1#)

orginxtorsCSuat(State2#);

careThiket add_(5)

oiginatoseSated"(State 3")

careTaker add (6)_

originutor_setState(State#4)

(1) new Memento(state)

(2) Memento.getState()

(3) void add(Memento state)

(4) Memento get(int index)

(5) care Taker.add(originator.saveState ToMemento()

(6) care Taker.add(originator.saveState ToMemento()

【参考答案】暂无

相关阅读:2022年上半年软件设计师真题答案答案解析(综合、案例)

历年软件设计师真题在线答题及PDF下载

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

客服咨询