チンチラのフンみたいなもの

毎日の学んだことを書いていきます

Udemyで英語でMVVMを学んでみた(a little)

はじめに

 Udemyが今セール中で、MVVMについて学びたかったのでこの動画を買ってみた。Udemyで言語が英語の教材は何度かある。字幕をGoogle翻訳で日本語で表示できる様にしても、あまり理解できず途中で止めてしまうことがよくあった。そこで今回はいつもとはやり方を変えて学ぶことにした。
 やり方はまず動画を見る前にトランスクプリションを表示して、それを全てコピーして、Deepleで翻訳する。そして翻訳された文章を読んである程度理解する。またあまり理解できなかった所には目星をつける。その状態で動画を見る様にする。これなら理解できるのではないかと思いやってみる!

MVCにおける問題

 Modelはデータのこと、Viewはユーザーインターフェースのこと、ControllerはModelとViewの仲介を表す。モデルは直接ビューに話かけず、コントローラーに話しかけ、コントローラーがデータをビューに送る。つまりコントローラーは、モデルを受け取り、それをビューに渡すのが仕事。
 MVCの場合Viewを変更しようとすると、Controllerにコードを書き込むことになる。その結果 Controllerが肥大化し、保守性の低いコードになる。MVCでも中身を切り分けることでその問題を解決することはできる。しかし、それには多大な時間を要する。

MVVMとは?

・・・正直MVCとの違いがよく分からなかった。分かったのはVMはModelとViewをカップリングしたもの、Modelはビジネスロジックを表すくらいでしょうか。この辺りは実際にコードで書かないと理解できないと思うので、今回のイントロダクションだけでこの部分を書くのは難しかった。

感想

 初めてこのやり方をとって勉強したがかなり非効率。動画は12分くらいだったが、終わるのに1時間以上かかった。動画自体は評価も高く、決して悪いものではない。しかし、動画のトランスクプリションは悪かった。講師が話した言葉から自動生成されるもので、かなり精度が低い。Deepleに訳してもらっても理解できない部分が目立った。よってこの方法はあまりよくないものだろう。
 よく公式ドキュメントやREADMEをDeeplに訳してもらいるが、そこで理解しにくいと感じることはあまりない。なので現状は英語での教材はドキュメントに限定した方が良さそう。色々調べてみるとこのサイトが良質なチュートリアルをたくさん載せていて良さそう。以前に一度何気なくこのサイトを利用したことがあるが、その時も分かりやすいなと少し感動した覚えがある。なので今度はこちらで勉強してみようと思う。
 ただUdemyは本当にいい動画が多く、更新頻度も高いので、今後の成長の観点からもこのまま捨てるのは絶対に避けたい。英語の勉強をするしかないと思った。