Last Updated 2004/10/21
Programming Tips Visual C++ MFC ドキュメントビュー  索 引 
ドキュメントビュー構造
2004/10/21

ドキュメントは「データ」,ビューは「データの表現」となる.

ボタン押下にて計算を行う.その計算結果を表示することを考える.


               ビュー               ドキュメント
                 |                       |
        ボタン   |                       |
      ---------->|                       |
                 |      計算依頼         |
                 |---------------------->|
                 |                       |計算実行
                 |      計算結果         |
                 |<----------------------|
   計算結果表示  |                       |
                 |                       |


    class Doc : public CDocument {
        int value;
    public:
        void calculate();
        int  get_value() const { return value; }
    };

    void Doc::calculate() {
        value = 計算結果
        UpdateAllViews();
    }




    // 計算依頼
    void View::OnCalc() { GetDocument()->calculate(); }


    // 再描画
    void View::OnUpdate() { Invalidate(); }


    // 描画
    void View::OnDraw(CDC* pDC) {
        int n = GetDocument()->get_value();
    }

こうすることにより,外見がどう変わっても計算は変わらない,計算がどう変わっても外見は変わらない,というメリットがある.
インターフェイスさえしっかりしていれば独立性の高い構造となる.


参照
前後のTips
ドキュメントビュー構造

DSS ProgrammingTipsCGI Ver2.02