91号では特集を、92号ではPerlHackersHubに記事を書かせてもらいました。原稿料いただいてるので、もうこれ買ってもらってもわたしには一銭も入らないんですけど、いい雑誌なので買ってないひとはぜひ買って読んでください。MVWってなに?って話からしていきたいんですけど、MVCとかMVPとかMVVMとかみなさん聞いたことがあると思います。Whateverと呼んだりします。違う名前ってことはそれぞれに違いがある一方、MVWとひとくくりにされるのだから共通点もあるわけですね。共通点としては、これらは全部PresentationDomainSeparation(以下PDS)を実現するためのパターンである、ということが挙げられます。それをどうやって実現するのか、という部分についてはそれぞれに違いがあります。今回はその違いについては立ち入りません。要するにプレゼンテーションとドメインの分離ですね。Fowler先生が「PDSってのはMVCの最も重要パートなんだよ」と言っていることを確認しておきましょう。MVCはPDSと切っても切れない関係である、ということをここでは確認しておきましょう。プレゼンテーションとドメインってなに?って話になるんですけど、まあプレゼンテーションはなんとなくイメージがつきそうですね。ユーザーが見れて触れる部分、みたいな感じだよな、って思いませんか。まあだいたいそんなもんです。ドメインって聞くと、「あっDDDでやったところだ!」ってなりがちなんですけど、PDSの文脈におけるDomainとDDDにおけるDomainってのはたまたま名前が同じなだけで、指してるものは違います。PDSにおけるドメインってなに?って話になるんですけど、MVWのModelに相当するのがドメインです。いえですね、これって言葉を言い換えただけで、「じゃあMVWにおけるモデルってなんなんだよ」という問題は依然として残るわけですね。言われる説明としてはこんなのがありますね。すると「ビジネスロジックって結局なんなのだ、宇宙とは、人生とは」みたいな哲学に迷い込むわけです。この会場で「ビジネスロジック」の定義言えるひとっています?......あ、いないですよね。