「MVVMなにそれおいしいの?オブジェクト指向なにそれおいしいの?」を卒業したいなーと思い、WPF+PrismでMVVMなアプリを勉強してみようかと思いました。
github.com
プロジェクト作成
とりあえずNugetでPrismをインストールしたものの、まずプロジェクト作成時に謎の選択が。
- Prism Blank App(WPF)
- Prism Module(WPF)
.NET Core 3は今回スルーするとして、新しくPRJを作る場合はPrism Blank Appを選べば良さそう(既存PRJに足す場合はPrism Moduleを選ぶっぽい)
無事にPRJが出来たと思ったらSelect Containerという選択肢が…
DIコンテナってなんやねんという話はこの記事がわかりやすかった
hiroronn.hatenablog.jp
でもとりあえず後述のPrism自習用のサンプルがUnityぽいのでUnityを選ぶなど。
レスポンス的にはDrylocが良さそうな感じ。
www.nuits.jp
Boostrap
Prismの自習用リポジトリがあったのでとりあえず1つずつ写経してみたいと思う。
github.com
今日は01番の「Bootstrapperを使おう」をやってみた。
github.com
そりゃまぁ写経したのでそのまま動くわけなんだけど、Bootstrapperを作る理由がよくわからない。
BootstrapってWebサイトのデザインフレームワークじゃないの?とか思った。
色々と調べてみたけど理由がやっぱりわからないので次に進もうと思う。
2018/11/26 追記
ぽんこつ氏から「Botstrapperクラスが使用非推奨になったやで」とリプ頂いてなんだってーーー!という顔になった。
他にも「Autofac と MEF が Prism の将来のサポート対象から外れてしまう」とか、色々7.1で変わってる様子。
blog.okazuki.jp
Autofac と MEF が Prism の将来のサポート対象から外れてしまうことでしょうか。 Autofac はイミュータブルになってるので、Prism の提供するモジュールまわりの機能と相性がよくないみたいですね。
ということで、特に理由が無ければ Unity (こっちはこっちで名前空間が昔と変わったりしてる)を使うのがいいと思います。
まじすか