タグ

MVCに関するohnishiakiraのブックマーク (8)

  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

  • [tech]GUI-MVCとWeb-MVCの違い - yojikのlog

    一部でMVC議論が流行っていたので、自分のためにSmalltalk由来のMVC(以下、一般化してGUI-MVCと呼びます)はWeb-MVCとどう違うか? という点についてまとめて見ました。突っ込みは歓迎。 あと稿ではドメインモデル貧血症批判とかは全く盛り込まない。それは少し違うレイヤーの話なんです。 0. VCは大抵の場合、緊密に結びついたペアである GUI-MVCではView-Controller(以下VCペア)は不可分のペアだとされています。情報の入力(および制御)と出力ですから、お互い強く依存するのはあたりまえですね。MicrosoftのMFCとかJavaのSwingではVCはひとつのコンポーネントとして扱っています(Document-Viewパターンとも呼ばれます) ただ、この点についてはWeb-MVCでもそんなに変わらないかも。 1. GUI-MVCのView-Controll

    [tech]GUI-MVCとWeb-MVCの違い - yojikのlog
  • Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記

    jQueryヘビーなアプリケーションの問題点と、MVCによる構造化の必要性 jQueryは、ブラウザ上で動くJSアプリケーションの開発生産性を劇的に向上させました。DOM操作による動的なページ書き換え処理などは、セレクタを使ってちょろっとコードを書くだけで、ほんの数行で記述できてしまいます。 しかし、この方法の延長で、大規模なJSアプリケーションを構築することは果たして現実的でしょうか。例えば「GMail」や「New Twitter」程度の規模のJSアプリケーションを書かなければならないとしたら、どうでしょう? 大規模なJSアプリケーションを開発するには、こういった手法を延長するのではなく、より洗練されたデザインパターンを導入する必要があります。この目的にぴったりのデザインパターンが、「MVC」デザインパターンです。 MVCパターンは、Webの世界ではサーバサイドプログラミングで広く知られ

    Backbone.jsを利用したクライアントサイドMVCの導入についてそろそろ書いておくか - 出町ミスド攻防記
  • 補足 - Web Applicationをきれいに設計するためのMVACという考え方 - $shibayu36->blog;

    Web Applicationを綺麗に設計するためのMVACという考え方 - Dive into the Tech World! では、様々な意見をいただきありがとうございました。コメントを見る限り、うまく伝えきれていないなという部分がいくつかあったため、補足としてまとめたいと思います。 前提 前回の記事は一応前提として、以下のようなものがあります。 Web Application設計の新しい手法を提案したわけではない 昔からある手法の理解が自分の中で深まったので、まとめてみたわけです もらった意見とその補足 MVCにおけるMの定義がおかしいのでは Mの定義がおかしいから、Aがある データモデルがMと思うと失敗する これに関しては、「MにSkinnyを」などというように、記事の書き方が少し良くなかったのではないかなと思いました。Mに関しては、DBへのインターフェイス、オブジェクトの層、ロジ

    補足 - Web Applicationをきれいに設計するためのMVACという考え方 - $shibayu36->blog;
  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

  • 何故、CocoaのMVCとレガシーなMVCはアーキテクチャが違うのか? - ちくたく

    MaciPhoneのSDKが提供しているCocoa*1で一番気になるのがMVC。何故、CocoaのMVCは、レガシーなMVCと違うアーキテクチャを採用しているのか。 気になったので、考えてみた。 レガシーなMVC レガシーなMVCの最大の目的は、Modelを再利用するアーキテクチャを提供すること。 このアーキテクチャでは、ViewやControllerはアプリによって、変更されることが前提になっている。そのため、ViewやControllerの再利用については言及されていない。 そのため、真面目にこのアーキテクチャで実装すると、ViewはModelとControllerに依存してしまい、Viewの再利用性は失われる。 [特徴] ModelはViewにもControllerにも依存しない。*2 ViewはControllerとModelに依存する。 ControllerはViewとMode

    何故、CocoaのMVCとレガシーなMVCはアーキテクチャが違うのか? - ちくたく
  • はてなブログ | 無料ブログを作成しよう

    京都・ラーメン・観光客 京都で久々にラーメンべた。 その日は午後から用事があり、お昼前にランチを探した。寒い冬の京都ということで、無性にラーメンべたくなった。たまたま昔好んで行った塩ラーメンの店が近くにあることを思い出した。しかし、その店の開店にはまだ少し時間がある…

    はてなブログ | 無料ブログを作成しよう
  • Web アプリの MVC 設計まとめ - もやし日記

    MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPressTwitter、37signals のサービスのようなものを作ろうとするとき、どういう MVC 設計をしていくかについて考えます。巨大なシステム、金融系システム、基幹系システムなどを作る場合とは異なる考え方もあると思います(そもそも MVC を使わない、など)。 肥大化するコントローラを避ける例えば、八百屋さんで「60円で仕入れたリンゴ1つを100円で売った」こと(Sales Transaction)を記録する場合を

  • 1