Java デザイン パターンの概要 Memento パターン

高洛峰
リリース: 2017-01-19 15:44:33
オリジナル
1280 人が閲覧しました

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 に数値とファイルの値を保存していることがわかります。 。 Originator の番号とファイルの値が変更された場合は、setMemento() メソッドを呼び出すことで復元できます。

Memento モードの欠点は、内部状態が多数ある場合、別のコピーを保存すると意図せずに大量のメモリが浪費されることです。

Jsp+Javabean での Memento パターンの適用

Jsp アプリケーションでは通常、名前やメールアドレスの入力が必要なユーザー登録など、ユーザー入力を必要とするフォームが多数あります。ユーザーが「送信」を押した後、Jsp プログラム検査によって実際に未入力の項目があることが判明し、その項目の下に警告またはエラーが赤色で表示されることが望まれます。同時に、ユーザーが入力したばかりのテーブル項目も表示されます。

下の図に示すように、名はユーザーによって入力されていますが、姓は入力されておらず、赤いテキストの警告が表示されます

Java デザイン パターンの概要 Memento パターン

このテクノロジーの実装では、 Javabean のscope="request" またはscope="session" 機能、つまり Memento モード。

Java デザインパターンにおける Memento パターン (Memento パターン) の導入に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!