絶対どこかで議論されたはず。混乱する人があたしだけ、なんてわけない。
そう、そんなわけはなかった。
「私は MVC ウェブフレームワークのユーザですが、混乱しています。 Pyramid はコントローラーをビューと呼んでいます! そして コントローラーがありません。」
引用元
これ。そしれこの文章自体が、Pyramid公式に載っているのをまんま引用したもの。
MVCがWebの仕事を正確に表現できてると思わないので、「リソースとビュー」というもので表現することにしましたと書いてある。
ええええ。
- リソースツリーはサイト構造を表わします。
- ビューは リソースを示します。
- テンプレートは実際には単に任意のビューの実装詳細です
- ビューは、レスポンスを返すためにテンプレートを必要としません。
- 「コントローラー」は、ありません
- 「モデル」は、 リソースツリー、またはフレームワークと完全に分離した「ドメインモデル」 (SQLAlchemy モデルのような) によって表わされます。
なんだそれは。
なんなんだそれは。
道理で、あたしの理解がまっったく進まないわけだ。
Pyramid使い始めてみたものの全然分からなくて、ああもうあたしのお脳の理解力の限界はここなのかお粗末な話だなこんちくしょう、って思ってたわけです。
10年近くくらいはMVCMVCって言われてきたんでないですか、Webの世界って。それがここにきて考え方を変えましょうときたわけで、そりゃ混乱するよねと。
リソースとビュー。
リソースとビューですよ奥さん。
config.add_route('home', '/')
こんなんやってる箇所が地図作ってるわけだな。
ツリー構造のurlマップみたいなのがリソースの地図になっていて、リソースそのものがビュー。
テンプレートは実装詳細です。そうですか。必ずしもテンプレートが必要なわけではないとあるあたりが理解の鍵なのかしらん。
モデルはフレームワークの格にあるんじゃなくて外側なんだと。そうなの、データって外側に位置するの。ちょっとイメージが出来てないですが、一旦そういうもんだと覚えることにする。
MVCのMに当たるのがーとか変換して考えちゃうから苦しむんであって、これはパラダイムが変わって別物が出てきたんですよというくらいで捉えるほうがよさそうです。
#あたしのお脳はまだついてきてません