タグ

mvcに関するakkun_choiのブックマーク (17)

  • えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ

    Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある RailsのえせMVC疑惑で盛り上がってますね。Railsが「えせMVCフレームワーク」ではないのは、みんな知っていると思うので、記事、コメントをみて勘違いしている人が多そうな部分に一言書いておきます。 まず、おかしいのはsatoshiさんのこの意見。 PhotoShareは主にRailsで作られているので、ModelはActiveRecordが担当しているわけだが、Modelのレイヤーが非常に薄いために(O/Rマッピングをしているだけ)、データベースの整合性の責任がController側にある。そのため、ちょっとした機能変更のたびにAPIレベルでのテストを大量に走らせなければならないし、それでもどうしてもミスが生じてし

    えせMVCについてそろそろ一言言っておくか - ひがやすを技術ブログ
    akkun_choi
    akkun_choi 2010/08/05
    サービスは永続化されないモデル。サービスはユースケースから導出、モデルはデータから導出
  • Web アプリの MVC 設計まとめ - もやし日記

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

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

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

  • matarillo.com: UIパターン

    UIパターン 追記 この記事の一部を加筆・修正したものを「開発者が知っておくべき、6つのUIアーキテクチャ・パターン」として@ITに転載しています。 MVVMを追加した上で、アプリケーションモデルとMVVMをプレゼンテーションモデルのバリエーションとして位置づけました。 MVPの2つのスタイルとして、監視コントローラとパッシブ・ビューを説明しました。 まえがき Martin Fowlerの"GUI Architectures"を訳したので公開しようと思ったのだが、FAQページに「EAA developmentとかDSLなんかは商業出版するんで例外ってことで」と書いてある。面倒だったので翻訳の公開はやめて、「自分の理解を書く」というスタイルにしようと思う。 Fowler氏が説明しているのは 「フォームとコントロール」、「モデルビューコントローラー (MVC)」、「プレゼンテーションモデル」、

  • レイヤとモデル

    アプリケーションをレイヤ分割した場合、 プレゼンテーション層 -> ビジネスロジック層 -> データアクセス層 のように分けるのが一般的ではないかと思います。 ここで、矢印は、依存関係を表しています。例えば、プレゼンテーション層は、ビジネスロジック層に依存していて、ビジネスロジック層は、データアクセス層に依存しています。 矢印の向いていないほうには依存していません。例えば、ビジネスロジック層は、プレゼンテーション層に依存していません。 誤解が多いんじゃないかと思うのは、レイヤとモデルを混同することです。一番多く見られるのは、ビジネスロジック層とドメインモデルの混同です。 モデルは、各層を流れていくデータ(+ ロジック)であり、どの層にも依存しません。逆に層はモデルに依存することになります。 モデルは、プレゼンテーションモデルとドメインモデルに分かれます。当は、ERモデルもあるのですが、こ

    レイヤとモデル
  • Understanding Model-View-Controller

    05 May 2008 Understanding Model-View-Controller Like everything else in software engineering, it seems, the concept of Model-View-Controller was originally invented by Smalltalk programmers. More specifically, it was invented by one Smalltalk programmer, Trygve Reenskaug. Trygve maintains a page that explains the history of MVC in his own words. He arrives at these definitions in a paper he publis

  • C# で Pluggable MVC - 星一の日記

    諸事情で、とあるエディタを C# で作っているのですが、エディタのアーキテクチャとして "Pluggable MVC" というのが使えるのではないかとふと思いました。 MVC は、もちろん Model-View-Controller のことですが、説明は割愛します。Pluggable MVC とは、 Smalltalk の世界では「最高」と言われている MVC らしいです。 第6回 Smalltalkウィンドウプログラミング(2) 上ページの図 5 がそうです。図にしたがって処理の流れを書くと、以下のとおり。 あらかじめ、 Model に対応する View が一つ以上登録されている。 <1> Controller が Model を操作する。 <2> Model が、自分の内部が変化したときの changed メッセージを自分に送信する。 <3> Model に登録されている View す

    C# で Pluggable MVC - 星一の日記
    akkun_choi
    akkun_choi 2008/03/20
    Pluggable MVC: ModelにViewを登録して、Modelが変更したときにViewに通知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • model/view/controller

    overview study model/view/controller design pattern ("mvc") see how to apply mvc in flash build an example mvc application: a clock mvc: basic structure mvc separates the code required to manage a user interface into three distinct classes: model: stores the data and application logic for the interface view: renders the interface (usually to the screen) controller: responds to user input by modify

  • 使わないと損をするModel-View-Controller MVC

    1 はじめに SmalltalkのOJTを通して、「Smalltalkへのスムーズな導入」を行うために、いくつかの留意点があることを私は学びました。 ① データとアルゴリズムがパックされたオブジェクト(情報隠蔽) ② オブジェクト間コニュニケーション(メッセージ伝送) ③ クラスとインスタンス関係(メタクラスとクラス関係) ④ クラス階層構造(インヘリタンス機能) ⑤ アルゴリズムをデータとして扱うこと(closure/continuation) ⑥ Model-View-Controller(MVC) ⑦ 依存性(change&update) ⑧ プラガブルの考え方(pluggableMVC) ①〜④までは、オブジェクト指向プログラミングという形で多くの解説書が手に入りますので問題はありません。 ⑤は、LispやPrologを知っておられる方には簡単になじめます。アルゴリズムをデータとし

    akkun_choi
    akkun_choi 2007/10/15
    これ何度読んでもよくわからない
  • hide-k.net#blog: CatalystとStrutsのMVC実装の比較

    PerlのCatalystとJavaのStrutsのMVC実装の比較をしてみます。 Struts Catalyst Model: Struts 図ではModelとしてActionFormとなっていますが、ActionFormはむしろViewに近い存在です。Strutsにおける実際の開発ではむしろJavaBeansをModelとして扱い、ModelのSerializeにはHibernateのようなO-Rマッピングツールなどを使います。SerializeにはDAOパターンを使うことが多いです。 Catalyst Catalystでは純粋なModelもフレームワークに組み込まれています。Class::DBIなどのActionRecord的アプローチを取るためModelそのものにSerializeの機能を含めることが多いためDAOなどを使う場面は少ないです。 Contoller: Struts

  • Catalyst入門 と お作法について

    id:naoyaの技術発表(10月15日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど)。 これを聞いて、Catalyst面白そうということに気づいて触ってみています。 インストールと簡単な動作 Perl の MVC フレームワーク Catalyst に入門してみた : NDO::Weblogを一通り読めば分かると思います。 私の環境だと sudo perl -MCPAN -e 'install Class::DBI::mysql' を追加で行う必要がありました。 お作法 Catalystではどう書くのが正しいか等、迷う部分が多々あります。 いろいろ調べた結果、これだと思うものを紹介していき、標準化(?)のたたき台になればよいかなと。 URLマッピング CatalystのURLマッピングはとても柔軟です。たくさん種類があってこまりますw。 直接URLを指定 /foo/b

    Catalyst入門 と お作法について
  • Ajax時代の、サーバ<->クライアントで協調するMVCフレームワーク:Goodpic

    This shop will be powered by Are you the store owner? Log in here

  • MVC - MVCとはModel-View-Controllerの頭文字をとったものです。

    MVC - MVCとはModel-View-Controllerの頭文字をとったものです。 目次 新着情報2004 MVC関連リンク MVCと3層C/S 関連モデル PAC - Presentation - Abstraction - Controller Document - View architecture MVC発祥の地では 雑談 MVCとはModel-View-Controllerの頭文字をとったものです。 新着情報2004 月刊DBマガジン6月号にModel2+の解説があるらしい。(ニュースソース[jfriends-ml 11123] Model2+) MVC関連リンク MVCモデルという言葉をよく聞きますが何のことですか? http://www.atmarkit.co.jp/fjava/javafaq/j2ee/j2e07.html 使わないと損をするModel-View

  • コーディング指針/1.スクリプト記述ルール - ゼンド・ジャパン株式会社 技術情報コンテンツ

    Zend Server Ver 9 で使用できるデータベース Zend Server Ver 9 で使用できるエクステンションのうち、データベース関連をまとめました。各 OS ごとに対応状況をご確認いただけます。 Zend Server API リファレンス Zend Server のページ・キャッシュやジョブキューなど、各種の機能を PHP から使用するための API です。 zend.com の forum で探す ユーザー同士の交流や一般的なアナウンスなどを目的に Zend 製品の開発元が開設しているフォーラムです。 英語のみ使用でき、回答の保証はありません。

  • HOMMEZ公式オンラインショップ

    HOMMEZ(オムズ)は男性の心と身体の健康を支援し、一人でも多くの人が子供を得る幸せや男性としての喜びを享受できる社会の実現を目指しています。男性の妊活、活力にまつわる情報や商品の力で性や妊活に悩む男性が効率的に納得感を持って活動できる機会を創出します。

  • Catalyst

    Catalyst Jun 2, 2005 by Jesse Sheidlower Web frameworks are an area of significant interest at the moment. Now that we’ve all learned the basics of web programming, we’re ready to get the common stuff out of the way to concentrate on the task at hand; no one wants to spend time rewriting the same bits of glue to handle parameter processing, request dispatching, and the like. A model currently favo

  • 1