MVCというデザインパターンでコード分けすることになっているのですが、
様々なサイトを見てみるもMVCがいまいち理解しきれません。

まず以下の考えは合っているでしょうか?

  • ModelはUIに関係のないことをする
  • ViewModelから情報を取得して表示する
  • ControllerModelViewの仲介役

また、Viewのイベントを処理してModelに何かさせるのがControllerかと思うのですが、
Controllerには例えばView#setOnClickListenerなどを記述すれば良いのでしょうか?
それともView#setOnClickListener自体はViewに記述して
View#onClickListenerかその中身をControllerに記述するほうが良いでしょうか?

あと、AndroidのActivityFragmentViewControllerどちらに当てはまるのでしょうか?
それから、Fragmentにはどこまでやらせるのがよいのでしょうか?
現状はxmlからのView生成程度しかやらせておらず、そのViewにデータをセットしたりというのは別のクラスでやらせています。