これはXamarin Advent Calendar 2018の22日目の記事…のつもりでしたが一日勘違いして一時間半程間に合いませんでした。埋めていただいた方、ありがとうございました。すいません。
さて内容はちょっとはみ出してWPFやUWPといったXAMLを利用するUIフレームワーク全般で共通な話です。
私は前々からXAMLアーキテクチャの場合、必ずしも(Topレベルの)ViewModelのクラスをViewのクラスから分離する必要はなく、XAMLのコードビハインドをViewModelとして実装しても良いのではないか?ViewModelは役割としては必要でも、クラスとしては必ずしも必要ではないのではないか?と考えていました。
もちろん常にViewModelクラスが不要だという訳ではありません。特定の制約を満たす必要がありますし、その制約を徹底できるだけの組織的な統制力が必要になります。*1
本稿ではその辺りの論拠などを整理してみたいと思います。
*1:ちなみに私自身は統制を徹底できる気がしないので、結局ViewModelのクラスは分離しています