MVCと三層クライアントサーバがよく分からない
ふと現時点での理解を、上っ面だけでも整理しようなどと思い立った。
応用情報技術者の勉強してて、三層クライアントサーバを初めて知ったが、
MVCと似たものかしら、などと思ったのが端緒。
MVC:
ModelとViewとControllerとに層(役割)を分担して幸せになる、とかそういうの。
Webアプリケーションの作り方の一つとして、有名だから覚えとけ、とか習ったけど、
Androidでアプリ作ってたときも、このアーキテクチャなのかなとか思ってた。
・Viewがユーザにとっての見た目とかインタフェース
・Modelが裏方のこまごました処理
・Controllerがそれら2者の仲立ち
くらいの認識でいる。
三層クライアントサーバ:
時代的にはMVCより古い? プレゼン層とアプリ層とデータ層。
なんか3つに分けるとかの考え方で、MVCの仲間だろう、とか考えてる。
字ヅラ的にこうやろ?
M <-> データ層
V <-> プレゼン層
C <-> アプリ層
・・・ちょっと調べてみたら、コレ全然違う。
前提誤認からの不毛な論争や誤解が多そう。あとオブジェクト指向が参戦してきてたりもする。
理解を固めるにはちゃんと調べないとダメだな。
経験則で言えるのは、Controllerがアホほど膨らんで何でも屋になり、
分けてる感なくね? と思いながらプログラム書いてたナー、てことくらいだ。
アーキテクチャのせいということを言いたいのではもちろんなく、自分の能力のせいだ。
三層クライアントサーバはもう古いぽいから、あんま知らんでもいいのかな?
MVCもレガシーでしょみたいな意見も多そうだ。
継続調査!