VB のたまご

作成日: 2017/04/29, 更新日: 2017/04/29



サンプルアプリケーション

  •  ここからは、Livet アプリケーションの実装サンプルを見ていきます。 ただ、ソースを全部見せるのではなく、ポイントだけ解説して、ソースは GitHub の方を見ていただくことにします。 また、サンプルは実装方法の一例なだけであり、こういう実装をしないといけないという縛りや制限を伝えたいのではないので、誤解の無いようにお願いいたします。


スポンサーリンク


1つ目のサンプル

    GitHub
    https://github.com/sutefu7/VbWpfSamples.SampleApps
    Src/w01.Sample01
    

    イメージ
    イメージ
  •  このサンプルでは、足し算アプリを作成しています。特に難しいところはないのですぐに理解できると思います。 View, ViewModel, Model の役割と分担に慣れるためには、このような簡単な仕様の方が(アーキテクチャの理解に集中できるので)良いかなと考えています。

  •  足し算するのにこんなに面倒くさいことをしなくちゃいけないの?と思われた方は大正解で、このことから、MVVM パターンが小規模なソフトウェア開発には向いていないことが分かります。 足し算できる機能を一番楽に作ることができるのは、コンソールアプリケーション、または WinForms や WPF ならコードビハインドで作る事です。 よって、このサンプルで伝えたい事は、MVVM パターンの実装方法であり、仕様自体は特に重要ではありません。


スポンサーリンク


2つ目のサンプル

    GitHub
    https://github.com/sutefu7/VbWpfSamples.SampleApps
    Src/w01.Sample02
    Src/w01.Sample02.ClassLibrary1
    

    イメージ
  •  続いては、足し算の他に引き算もできるアプリです。 ここでは、演算部分をユーザーコントロールに担当させて扱うという変更を加えています。ちょっと複雑になります。 同じプロジェクトで作成したユーザーコントロール、別のプロジェクトで作成したユーザーコントロールの違い、処理をお任せするか自分で管理するかの違い、が理解できれば OK です。

  • イメージ
    イメージ

3つ目のサンプル

    GitHub
    https://github.com/sutefu7/VbWpfSamples.SampleApps
    Src/w01.Sample03
    

  •  今度は、消費税計算をするアプリです。「金額」を入力して「計算」ボタンを押すと各値が計算されて表示されます。 「税率変更」ボタンを押すと、「税率選択画面」がモーダル表示されるので、切り替えたい税率を選択して「更新」ボタンを押すと再計算されて表示されます。

  • イメージ
    イメージ
  •  難しいところは、「税率選択画面」終了時の流れです。モデル発信で画面を閉じたい場合、メッセンジャーがビューモデルにいるため、モデルからは直接呼び出すことができません。 そのため、モデルでは、画面を閉じるか閉じないかの判定フラグ 兼 画面を閉じたいタイミングで指示イベントを発生させるプロパティを用意して使っています。 もうちょっとシンプル構成にできないかどうかは今後も考え続けていきたいと思います。

  • イメージ
    イメージ