MVCと三層クライアントサーバがよく分からない

ふと現時点での理解を、上っ面だけでも整理しようなどと思い立った。
応用情報技術者の勉強してて、三層クライアントサーバを初めて知ったが、
MVCと似たものかしら、などと思ったのが端緒。


MVC
 ModelとViewとControllerとに層(役割)を分担して幸せになる、とかそういうの。
 Webアプリケーションの作り方の一つとして、有名だから覚えとけ、とか習ったけど、
 Androidでアプリ作ってたときも、このアーキテクチャなのかなとか思ってた。
 ・Viewがユーザにとっての見た目とかインタフェース
 ・Modelが裏方のこまごました処理
 ・Controllerがそれら2者の仲立ち
 くらいの認識でいる。

三層クライアントサーバ:
 時代的にはMVCより古い? プレゼン層とアプリ層とデータ層。
 なんか3つに分けるとかの考え方で、MVCの仲間だろう、とか考えてる。


字ヅラ的にこうやろ?
M <-> データ層
V <-> プレゼン層
C <-> アプリ層

・・・ちょっと調べてみたら、コレ全然違う。
前提誤認からの不毛な論争や誤解が多そう。あとオブジェクト指向が参戦してきてたりもする。
理解を固めるにはちゃんと調べないとダメだな。

経験則で言えるのは、Controllerがアホほど膨らんで何でも屋になり、
分けてる感なくね? と思いながらプログラム書いてたナー、てことくらいだ。
アーキテクチャのせいということを言いたいのではもちろんなく、自分の能力のせいだ。

三層クライアントサーバはもう古いぽいから、あんま知らんでもいいのかな?
MVCもレガシーでしょみたいな意見も多そうだ。

継続調査!