MvvmCross
MvvmCrossとは、.NET FramewrokおよびMono(各種Xamarin)で利用できるMVVMのフレームワークである。
概要[編集 | ソースを編集]
MVVMといえば古くからWPFやSilverlightが存在したが、これら実質的にWindowsという単一プラットフォームでしか利用できなく、デバッグが楽だね、でもソースコードの記述量が増えた分で相殺されて無意味ではないか、などと言われてきた。このように初登場のしかたが悪かったために不遇な扱いを受けてきたMVVMであるが、Xamarin.iOSやXamarin.Androidなどの登場でやっとマルチプラットフォームという利点を活かせる土壌が整い、様々なMVVMフレームワークが登場している。その中のひとつがMvvmCrossである。
MVVMおさらい[編集 | ソースを編集]
モデル[編集 | ソースを編集]
いわゆるビジネスロジックと呼ばれるものを記述する層である。設計が破綻しているプロジェクトでは単なるデータベースの定義となっている事が多いが、本来であれば机上の空論的に本質的な部分はすべてここに記載され、本質的なデバッグはここだけで完結する。
今ではスタンドアローンなどという考え方は死滅した御時世であり、クラウドやオンプレミスを問わずモデル層の99%はサーバーサイドで実装され、.NET FrameworkであればWCFやASP.NET Web APIなどの領域であると言える。スマホのアプリなどの極小規模なものであればSQLiteなどを用いてローカルにモデル層を保持することもある。
ビューモデル[編集 | ソースを編集]
ビューモデルとは仮想化されたビューである。架空のビューを作り各種操作が行われたときの動作を記述する。GUIなどの要素がない架空のものであるため、マウスカーソルやボタンを座標などを考える必要がなく「ボタンを押した際の動作」などのデバッグが簡単に行える。
ビュー[編集 | ソースを編集]
ビューとはビューモデルに装飾して実際のUIを貼付ける部分をいう。
コントローラー[編集 | ソースを編集]
あまり考える必要はない。