タグ

ブックマーク / hilapon.hatenadiary.org (2)

  • Livet で Messenger を使ってみる(その参) - 周回遅れのブルース

    日はさらに踏み込んで、Livet が提供するメッセージングアクションのうち InformationDialogInteractionMessageAction ConfirmationDialogInteractionMessageAction OpenFileDialogInteractionMessageAction SaveFileDialogInteractionMessageAction の四つを試してみたいと思います。これらのアクションを使えば、コードを一切書かずに確認ダイアログやファイル選択ダイアログを使うことも可能になります。 え? ViewModel のコマンドでダイアログ使えばいいじゃんって? 確かにそうなんですが、View にこれらのダイアログを表示する責任を押し付ける*1ことで、ViewModel の単体テストが可能になるというメリットがあります。 ソースのコメン

    Livet で Messenger を使ってみる(その参) - 周回遅れのブルース
    zyusou
    zyusou 2015/11/09
    圧倒的感謝。超わかりやすい。
  • Livetによる画面遷移と選択要素受け渡しのサンプル - 周回遅れのブルース

    MVVMパターンでよく問題となるのが、画面遷移 の問題です。 単一画面であれば、View と ViewModel をバインド機構を使って疎結合にできるため、なんら問題は生じませんが、画面遷移を行う場合、ViewModel から Window を起動すると View - ViewModel 間で密結合が発生します。 また View のコードビハインドで画面を起動すると、実装が複雑化するのに加え、View に依存する分 MVVM の利点であるテスト容易性が失われます。疎結合を維持しテスト容易性を保持したまま、画面遷移を行う方法はあるのでしょうか?そこで便利なのが MVVM インフラである Livet のメッセンジャー機能です。 これは Livet 特有の機能でして、ViewModel から View に対し各種メッセージを送信でき、またどのビューを対象とするか指定する必要もなく、疎結合を保持し

    Livetによる画面遷移と選択要素受け渡しのサンプル - 周回遅れのブルース
  • 1