「MvvmCross」の版間の差分
8行目: | 8行目: | ||
いわゆる[[ビジネスロジック]]と呼ばれるものを記述する層である。[[設計]]が破綻しているプロジェクトでは単なる[[データベース]]の定義となっている事が多いが、本来であれば机上の空論的に本質的な部分はすべてここに記載され、本質的な[[デバッグ]]はここだけで完結する。 | いわゆる[[ビジネスロジック]]と呼ばれるものを記述する層である。[[設計]]が破綻しているプロジェクトでは単なる[[データベース]]の定義となっている事が多いが、本来であれば机上の空論的に本質的な部分はすべてここに記載され、本質的な[[デバッグ]]はここだけで完結する。 | ||
− | 今では[[スタンドアローン]]などという考え方は死滅した御時世であり、[[クラウド]]や[[オンプレミス]]を問わずモデル層の99%は[[サーバーサイド]] | + | 今では[[スタンドアローン]]などという考え方は死滅した御時世であり、[[クラウド]]や[[オンプレミス]]を問わずモデル層の99%は[[サーバーサイド]]で実装され、[[.NET Framework]]であれば[[WCF]]や[[ASP.NET Web API]]などの領域であると言える。[[スマホ]]の[[アプリ]]などの極小規模なものであれば[[SQLite]]などを用いてローカルにモデル層を保持することもある。 |
===ビューモデル=== | ===ビューモデル=== |
2015年2月24日 (火) 06:29時点における最新版
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を貼付ける部分をいう。
コントローラー[編集 | ソースを編集]
あまり考える必要はない。