비망록 모드 디자인 모드 입문 Memento
2431 단어 비망록 모드
// :
// , , 。
//
// : 。 ,
//
//
public interface FlowAMockMemento {
// , , ,
}
//
public class FlowAMock {
private String flowName;
private int tempResult;
private String tempState;
public FlowAMock(String flowName) {
this.flowName = flowName;
}
public void runPhaseOne() {
tempResult = 3;
tempState = "PhaseOne";
}
public void shema1() {
this.tempState += ",Schema1";
System.out.pritnln(this.tempState+":now run"+tempResult);
this.tempResult += 11;
}
public void schema2() {
this.tempState += ",Schema2";
System.out.pritnln(this.tempState+":now run"+tempResult);
this.tempResult += 22;
}
public FlowAMockMemento createMemento() {
return new MementoImpl(this.tempResult, this.tempState);
}
public void setMemento(FlowAMockMemento memento) {
MementoImpl mementoImpl = (MementoImpl)memento;
this.tempResult = mementoImpl.getTempResult();
this.tempState = mementoImpl.getTempState();
}
private static class MemetoImpl implements FlowAMockMemento {
private int tempResult;
private String tempState;
public MemetoImpl(int tempResult, String tempState) {
this.tempResult = tempResult;
this.tempState = tempState;
}
public int getTempResult() {
return tempResult;
}
public int getTempState() {
return tempState;
}
}
}
//
public class FlowAMementoCareTaker {
private FlowAMockMemento memento = null;
public void saveMemento(FlowAMockMemento memento) {
this.memento = memento;
}
public FlowAMockMemento retriveMemento() {
return this.memento;
}
}
//client
public class Client {
public static void main(String[] args) {
FlowAMock mock = new FlowAMock("TestFlow");
mock.runPhaseOne();
FlowAMementoCareTaker careTaker = new FlowAMementoCareTaker();
FlowAMockMemento memento = mock.createMemento();
careTaker.saveMemento(memento);
mock.schema1();//
mock.setMemento(careTaker.retriveMemento());//
mock.schema2();//
}
}
// :
// : 。 ,
// ,
// , 。
//
저작권 성명: 본 블 로그 의 오리지널 글, 블 로그, 동의 없 이 전재 할 수 없습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 행위 형 모델 ― 3.7 비망록 모델<?php /** * 3.7 * : * , * , , * 。 * * : * 1. (Originator) * : Memento, * , * 。Originator * ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.