AlierModel

モジュールパス: /alier_sys/AlierModel.js

--- config: class: hideEmptyMembersBox: true --- classDiagram direction LR Singleton <|-- AlierModel link Singleton "/ApplicationFrameworkReferences/Utility/singleton"

概要


アプリケーションの構成要素をModelとViewの二つに分類します。Modelとはアプリのデータ生成や管理を行う機能を指します。データの保存や編集などの、アプリに必要なデータの管理を行います。Viewとは画面表示やユーザのインタラクションを受けとる機能です。Modelが持っているデータをユーザが閲覧できるように画面に表示します。

モデルインターフェースは、アプリケーション全体からModel機能にアクセスするための機能です。Modelのインターフェースと実装を分離することで、ViewはModelの実装を知ることなくModelを利用できます。

AlierModel はデータ管理を行うModelを実装するためのクラスです。AlierModel を継承することでモデルインターフェースから使用できるようになります。

AlierModel は抽象クラスです。派生クラスを作成して使用してください。AlierModelSingleton クラスの派生クラスです。そのため AlierModel を継承するクラスはすべてシングルトンとなります。

AlierModel の派生クラスは、モデルインターフェースを構成する部品です。setupModelInterface() 関数の引数にモデルインターフェース定義を渡してモデルインターフェースを構築します。このモデルインターフェース定義の中で AlierModel 派生クラスのクラス名を指定します。モデルインターフェースは Alier.Model の下に構築され、グローバルなオブジェクトとしてアプリ全体から利用可能になります。このモデルインターフェースを介して AlierModel の派生クラスの中身にアクセスできます。詳しくは SetupInterface モジュールを参照してください。

class MyModel extends AlierModel {
    constructor() {
        super();
        return this.initialize(() => {
            this.#value = 42;
        });
    }

    get value() {
        return this.#value;
    }

    #value;
}