Memento(eighthDay)

 * 在不破坏封装性的前提下,捕获一个对象的内部状态,并在改对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。
 * Memento: 主要用来存储原发器对象的内部状态,但是具体需要存储哪些数据是由原发器对象来决定的。
 * 另外备忘录应该 只能"原发器对象" 来访问它内部的数据"原发器外部"的的对象 不应该访问到备忘录对象的内部数据
 * Originator 原发器。 使用备忘录来保存某个时刻原发器自身的状态,也可以使用备忘录来回复内部状态

 * Caretaker : 备忘录管理者,主要保存备忘录对象,但是不能对备忘录对象的内容进行操作或检查

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 schemal(){
		this.tempState +=",Schemal";
		System.out.println(this.tempState + " ; now run " + tempResult);
		this.tempResult += 11;
	}
	/**
	 * 示意,按照方案一来运行流程的后半部分
	 */
	public void schema2(){
		this.tempState +=",Schema2";
		System.out.println(this.tempState + " ; now run " + tempResult);
		this.tempResult += 22;
	}
	public FlowAmockMemento createMemento(){
		return new MementoImpl(this.tempResult,this.tempState);
	}
	
	public void setMemento(FlowAmockMemento memento){
		MementoImpl impl = (MementoImpl) memento;
		this.tempResult = impl.tempResult;
		this.tempState = impl.tempState;
	}
	private static class MementoImpl implements FlowAmockMemento{
		private int tempResult;
		
		private String tempState;
		
		public int getTempResult() {
			return tempResult;
		}

		public String getTempState() {
			return tempState;
		}

		public MementoImpl (int tempResult,String tempState){
			this.tempResult = tempResult;
			this.tempState = tempState;
		}
		
	}
}

public class FlowAMementoCareTaker {
	
	private FlowAmockMemento memento = null;
	public void saveMemento(FlowAmockMemento memento){
		this.memento = memento;
	}
	
	public FlowAmockMemento retriveMemento(){
		return this.memento;
	}

}

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.schemal(); 
		mock.setMemento(memento);
		
		mock.schema2();
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字社区解决方案是一套综合性的系统,旨在通过新基建实现社区的数字化转型,打通智慧城市建设的"最后一公里"。该方案以国家政策为背景,响应了国务院、公安部和中央政法会议的号召,强调了社会治安防控体系的建设以及社区治理创新的重要性。 该方案的建设标准由中央综治办牵头,采用"9+X"模式,通过信息采集、案(事)件流转等手段,实现五级信息中心的互联互通,提升综治工作的可预见性、精确性和高效性。然而,当前社区面临信息化管理手段不足、安全隐患、人员动向难以掌握和数据资源融合难等问题。 为了解决这些问题,数字社区建设目标提出了"通-治-服"的治理理念,通过街道社区、区政府、公安部门和居民的共同努力,实现社区的平安、幸福和便捷。建设思路围绕"3+N"模式,即人工智能、物联网和数据资源,结合态势感知、业务分析和指挥调度,构建起一个全面的数据支持系统。 数字社区的治理体系通过"一张图"实现社区内各维度的综合态势可视化,"一套表"进行业务分析,"一张网"完成指挥调度。这些工具共同提升了社区治理的智能化和效率。同时,数字社区还提供了包括智慧通行、智慧环保、居家养老和便民服务等在内的多样化数字服务,旨在提升居民的生活质量。 在硬件方面,数字社区拥有IOT物联网边缘网关盒子和AI边缘分析盒子,这些设备能够快速集成老旧小区的物联设备,实现传统摄像设备的智能化改造。平台优势体现在数字化能力中台和多样化的应用,支持云、边、端的协同工作,实现模块化集成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值