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

网站开发全程实例课本代码一件代发货源app

网站开发全程实例课本代码,一件代发货源app,服装辅料东莞网站建设,做搜狗手机网站快速文章目录 一、备忘录模式定义二、例子2.1 菜鸟例子2.1.1 定义副本类2.1.2 定义对象2.1.3 定义CareTaker 类2.1.3 使用 2.2 JDK —— Date 三、其他设计模式 一、备忘录模式定义 类型: 行为型模式 目的: 保存一个对象的某个状态,以便在适当的…

文章目录

  • 一、备忘录模式定义
  • 二、例子
    • 2.1 菜鸟例子
      • 2.1.1 定义副本类
      • 2.1.2 定义对象
      • 2.1.3 定义CareTaker 类
      • 2.1.3 使用
    • 2.2 JDK —— Date
  • 三、其他设计模式

一、备忘录模式定义

类型: 行为型模式
目的: 保存一个对象的某个状态,以便在适当的时候恢复对象。
使用场景: 1、需要保存/恢复数据的相关状态场景。 2、提供一个可回滚的操作。

二、例子

2.1 菜鸟例子

2.1.1 定义副本类

public class Memento {private String state;public Memento(String state){this.state = state;}public String getState(){return state;}  
}

2.1.2 定义对象

菜鸟的例子定义Originator 对象的同时,还提供saveStateToMemento、getStateFromMemento的副本类互转的方法。

public class Originator {private String state;public void setState(String state){this.state = state;}public String getState(){return state;}public Memento saveStateToMemento(){return new Memento(state);}public void getStateFromMemento(Memento Memento){state = Memento.getState();}
}

(个人想法:或许还能将saveStateToMemento、getStateFromMemento方法和Originator对象分离?)

2.1.3 定义CareTaker 类

该类是用来保存副本类的。

import java.util.ArrayList;
import java.util.List;public class CareTaker {private List<Memento> mementoList = new ArrayList<Memento>();public void add(Memento state){mementoList.add(state);}public Memento get(int index){return mementoList.get(index);}
}

2.1.3 使用

public class MementoPatternDemo {public static void main(String[] args) {Originator originator = new Originator();CareTaker careTaker = new CareTaker();originator.setState("State #1");originator.setState("State #2");careTaker.add(originator.saveStateToMemento());originator.setState("State #3");careTaker.add(originator.saveStateToMemento());originator.setState("State #4");System.out.println("Current State: " + originator.getState());    originator.getStateFromMemento(careTaker.get(0));System.out.println("First saved State: " + originator.getState());originator.getStateFromMemento(careTaker.get(1));System.out.println("Second saved State: " + originator.getState());}
}

如果CareTaker 类的 List换成栈结构,获取时pop弹出该对象,保存时push存入副本,这样是否就能实现编辑器的撤销和重做?

2.2 JDK —— Date

Date类的方法getTime()和setTime()可以用来获取和设置Date对象的时间,它们实际上就是备忘录模式的原发器和备忘录角色。

这是我百度搜到的,但如果这样也算的话,那岂不是拥有get和set方法的类都可以称得上备忘录模式?
但按照备忘录基本概念,好像确实可以算是。


三、其他设计模式

创建型模式
结构型模式

  • 1、设计模式——装饰器模式(Decorator Pattern)+ Spring相关源码

行为型模式

  • 1、设计模式——访问者模式(Visitor Pattern)+ Spring相关源码
  • 2、设计模式——中介者模式(Mediator Pattern)+ JDK相关源码
  • 3、设计模式——策略模式(Strategy Pattern)+ Spring相关源码
  • 4、设计模式——状态模式(State Pattern)
  • 5、设计模式——观察者模式(Observer Pattern)+ Spring相关源码
  • 6、设计模式——备忘录模式(Memento Pattern)
  • 7、设计模式——模板方法模式(Template Pattern)+ Spring相关源码
http://www.yayakq.cn/news/732258/

相关文章:

  • 专业做中文网站百度竞价推广怎么样
  • 贵州网站开发哪家便宜网站生成app要多少钱
  • 网站搭建申请ps做网页
  • 邯郸网站制作基本流程杭州网站建设的公司
  • jsp网站开发书籍推荐提供商城网站制作
  • 做网站需要学什么专业ccd设计公司很厉害吗
  • 建设网站改版wordpress全站cdn教程
  • 淘宝导购网站源码wordpress 表前缀
  • 网站开发流程中网站制作包括怎样做后端数据传输前端的网站
  • 网站开发需要什么费用icoc.cc是哪个网站域名
  • photoshop制作网站做机械有什么兼职网站
  • 网站群建设技术方案济南知名网站建设平台
  • 企业官网建站系统网站服务器怎么打开
  • 买一个成品网站多少钱分销平台软件哪个好
  • 网站后台如何取消验证码登陆qq上如何做文学网站
  • 清远专业网站制作公司郑州男科医院十大排名
  • 北京 广告 手机网站led灯具网站模板
  • 锡林郭勒盟建设工程造价管理网站WordPress手机APP源码
  • 福田皇岗社区做网站青岛英文建站公司
  • 西安做一个企业网站要多少钱提供网站哪家好
  • 网站建设教程小说简介下载app赚钱的平台
  • 阿里巴巴网站备案号网站网页切换怎么做的
  • 最好的网站开发CQ网站建设
  • 白云商城网站建设0基础怎么做网站模版
  • 电子商务网站建设 试卷深圳模板建站企业
  • 云南网站建设工具做外贸网站的都有哪些类型的公司
  • 网站设计建设制作网络营销专业大学排名
  • 如何写网站建设报告网站系统有哪些
  • 门户网站开发维护合同范本企业在线培训系统
  • 建设网站 软件推荐泉州建行 网站