激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java設計模式之備忘錄模式(Memento模式)介紹

Java設計模式之備忘錄模式(Memento模式)介紹

2019-12-11 13:46junjie JAVA教程

這篇文章主要介紹了Java設計模式之備忘錄模式(Memento模式)介紹,memento是一個保存另外一個對象內部狀態拷貝的對象,這樣以后就可以將該對象恢復到原先保存的狀態,需要的朋友可以參考下

Memento定義:memento是一個保存另外一個對象內部狀態拷貝的對象,這樣以后就可以將該對象恢復到原先保存的狀態。

Memento模式相對也比較好理解,我們看下列代碼:

復制代碼代碼如下:

public class Originator {
   private int number;
  private File file = null;
  public Originator(){}
  // 創建一個Memento
  public Memento getMemento(){
    return new Memento(this);
  }
  // 恢復到原始值
  public void setMemento(Memento m){
     number = m.number;
     file = m.file;
  }
}

 

我們再看看Memento類:

復制代碼代碼如下:

private class Memento implements java.io.Serializable{
  private int number;
  private File file = null;
  public Memento( Originator o){
    number = o.number;
    file = o.file;
  }
}

 


可見 Memento中保存了Originator中的number和file的值。通過調用Originator中number和file值改變的話,通過調用setMemento()方法可以恢復。

Memento模式的缺點是耗費大,如果內部狀態很多,再保存一份,無意要浪費大量內存。

Memento模式在Jsp+Javabean中的應用

在Jsp應用中,我們通常有很多表單要求用戶輸入,比如用戶注冊,需要輸入姓名和Email等,如果一些表項用戶沒有填寫或者填寫錯誤,我們希望在用戶按"提交Submit"后,通過Jsp程序檢查,發現確實有未填寫項目,則在該項目下紅字顯示警告或錯誤,同時,還要顯示用戶剛才已經輸入的表項。

如下圖中 First Name是用戶已經輸入,Last Name沒有輸入,我們則提示紅字警告:

Java設計模式之備忘錄模式(Memento模式)介紹

這種技術的實現,就是利用了Javabean的scope="request"或scope="session"特性,也就是Memento模式。

延伸 · 閱讀

精彩推薦
  • JAVA教程java之static關鍵字用法實例解析

    java之static關鍵字用法實例解析

    這篇文章主要介紹了java之static關鍵字用法實例解析,包括了static關鍵字的原理講解及用法分析,并附帶了實例說明,需要的朋友可以參考下 ...

    shichen20144632019-12-01
  • JAVA教程Spring Boot設置并使用緩存的步驟

    Spring Boot設置并使用緩存的步驟

    今天小編就為大家分享一篇關于Spring Boot設置并使用緩存的步驟,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小...

    Codenjoyes2532019-06-21
  • JAVA教程java多線程編程之java線程簡介

    java多線程編程之java線程簡介

    線程是程序運行的基本執行單元,線程不僅可以共享進程的內存,而且還擁有一個屬于自己的內存空間,這段內存空間也叫做線程棧 ...

    java教程網4012019-11-04
  • JAVA教程Java中實現可拖放圖片剪裁入門教程

    Java中實現可拖放圖片剪裁入門教程

    這篇文章主要介紹了Java中實現可拖放圖片剪裁入門教程,本文寫給新手,分步驟講解如何實現圖片裁剪,并對每步的代碼作注釋,需要的朋友可以參考下 ...

    junjie3492019-12-08
  • JAVA教程java反射機制示例詳解

    java反射機制示例詳解

    反射就是加載類,并解剖出類的各個組成部分,下面介紹了java反射機制示例,大家參考使用吧 ...

    java技術網2452019-11-05
  • JAVA教程Java鎖之阻塞鎖介紹和代碼實例

    Java鎖之阻塞鎖介紹和代碼實例

    這篇文章主要介紹了Java鎖之阻塞鎖介紹和代碼實例,阻塞鎖與自旋鎖不同,它改變了線程的運行狀態,需要的朋友可以參考下 ...

    junjie2802019-11-29
  • JAVA教程java獲取ip地址示例

    java獲取ip地址示例

    在JSP里,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了Apache,Squid等反向代理軟件就不能獲取到客戶...

    Java教程網3802019-11-18
  • JAVA教程Java實現軟件運行時啟動信息窗口的方法

    Java實現軟件運行時啟動信息窗口的方法

    這篇文章主要介紹了Java實現軟件運行時啟動信息窗口的方法,比較實用的功能,需要的朋友可以參考下 ...

    shichen20144672019-11-25
主站蜘蛛池模板: 91精品国产91热久久久做人人 | 直接在线观看的三级网址 | 二区成人 | av手机在线电影 | 久久精品久久精品国产大片 | 日韩视频二区 | 日本欧美国产 | 久久久看 | 久久久久久久久久亚洲精品 | 国产深夜福利视频在线播放 | 国产亚洲在线 | 一本色道久久综合亚洲精品小说 | 免费一级毛片在线播放不收费 | 99久久婷婷国产综合精品青牛牛 | 91成人在线网站 | 久久凹凸 | 玩偶姐姐在线观看免费 | 99精品国产小情侣高潮露脸在线 | hd日本xxxx| av中文字幕免费在线观看 | 国产精品久久久久永久免费观看 | 97久久日一线二线三线 | 亚洲一区二区中文字幕在线观看 | 国产午夜精品一区二区三区嫩草 | 在线无码| av成人在线免费观看 | 欧美福利视频一区二区三区 | 欧美一级黄色录相 | 成年免费视频黄网站在线观看 | 国产精品视频导航 | 水卜樱一区二区av | 色婷婷久久久亚洲一区二区三区 | 老女人碰碰在线碰碰视频 | 欧美成人精品一区 | 国产免费观看一区二区三区 | 看免费一级毛片 | 国产免费看片 | 国产一级大片 | 免费a视频在线观看 | 欧美 videos粗暴| 91国内精品久久久久免费影院 |