タグ

MVCに関するasystのブックマーク (13)

  • Railsのコントローラーの仕事は何か? - Qiita

    誰も読んでいないブログからの転載 最近MVCがどうとかという内容が話題になっていますが、ちょっと乗っかった内容です。 Railsで初心者によく見られる良くないコードは、コントローラーでたくさんの処理を実装してコントローラーの一つのアクションが30行、40行になってしまうことです。それに対して、モデルに適切に処理を移すのが良いんだということを言うんですが、”適切に”って何?じゃー、コントローラーには何を書くのがいいの?っていう質問への僕なりの回答です。 良いメソッドとは? 直接回答する前に、まずは前提の共有から、プログラムにおいて良いメソッドとはどのようなメソッドでしょうか?僕の解は、以下です。 "引数と返り値が最小限になっているメソッドです" (この部分については別途説明が必要な気がしますが、まぁなんとなくご理解いただけるかなと思います。) Railsのコントローラーの仕事? では、Rai

    Railsのコントローラーの仕事は何か? - Qiita
  • エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方

    エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方 酒巻瑞穂(html5jエンタープライズ部) 現在エンタープライズシステムの開発現場では、シングルページアプリケーション(SPA: 単一のWebページで構成されているWebアプリケーションのこと)アーキテクチャの採用が模索されるなど、根的な開発パラダイムにおいて大きな変化が起きようとしています(全体的にどのような変化があるかはエキスパートNo59の佐川夫美雄さんの書かれた「JavaからHTML5ヘ。業務システムの開発におけるWeb技術の変化と適応事例」によくまとまっています)。 こうした変化の一部を支えているのが、JavaScriptによるMVCフレームワークです。数あるフレームワークの中で、実際にどのフレームワークを採用するかというのは、開発コストだけではなく学習・運用コストにも関わる、非常に大きな

    エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方
  • Phalconに触れながらMVCプロジェクトの構成と構造を理解しよう

    Phalconは自由度が高く、特にフォルダ構造などには規約はありませんが、参考として今回は生成されたフォルダ構造に触れながら、Phalconの設計に慣れましょう。 生成されたPhalconプロジェクト構造について簡単に解説します。 app Phalconの開発を進める上でのアプリケーションを格納するフォルダです。 app/cache Phalconで使われるテンプレートエンジンである、voltのコンパイル済みキャッシュが配置されます。 voltはtwigやjinjaに記述が似ているコンパイル型テンプレートエンジンです。 コンパイル時にPHPを生成しますが、この生成ファイルをcacheフォルダに保存しています。 他には、WebAPIなどから取得した結果を、一定時間ファイルシステムにキャッシュしたい場合などにも使えるでしょう。 app/config プロジェクト全体で使う、設定ファイルを配置す

    Phalconに触れながらMVCプロジェクトの構成と構造を理解しよう
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
  • MVCの先、状態管理、ジェスチャー

    わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~

    MVCの先、状態管理、ジェスチャー
  • MVCの流れを簡単にまとめてみる - Qiita [キータ]

    理解しやすいように適当に遮ったり、言い切ってしまったところもあるがご容赦いただきたい。 MVCの登場 MVCは、SmalltalkのGUIライブラリのモデルとして登場した。 これはGUIアプリケーションを記述する際に、適切なモデル化を進めるのにとてもいい考え方だと思われていたし、実際にそうだった。 これはアーキテクチャパターンとして、それぞれがどのように依存するべきか、どこにコードを書くべきかということを端的に表している。 安定依存の原則というものがある。これは、要件が安定しているモジュールに依存し、要件が変動しやすいモジュールには依存しないようにするという原則だ。MVCアーキテクチャでは、GUIアプリケーションの安定関係をModel > View > Controllerの順でとらえている。データ処理や業務要件というのは安定しており、UIパーツもまた比較的安定している。それらを統合してア

    MVCの流れを簡単にまとめてみる - Qiita [キータ]
  • いつまでPHPerはMVCを間違い続けるのか…? - どうにもならない日々@mkkn

    愚痴です。 やはりお前らのMVCは間違っている http://www.slideshare.net/MugeSo/mvc-14469802 これ45k Viewあって、はブも600あって、Sep 26, 2012の投稿だからもおう1年以上前の話。つーかそれの波及記事もいろいろあってもう既に十分語り尽くされている、はずなのに… なぜか、未だにfat controller もうね。コード見るのが辛いんよ。つーか感覚的に分かりそうなもんじゃん。処理のエントリポイントがこんなになってていいのかなぁ?って。 改修案件でさ、コードどっから参照するよ?コントローラでしょ?んでさーコード調べるぞ!!ってなった時、そのコード見て、、、ため息出るでしょ。ひと目でわからんでしょ。 コントローラなんて,どのモデル読んでてどのview使ってるか、それだけで十分じゃん。パラメータの処理はルーティングでやればいいじゃん

    いつまでPHPerはMVCを間違い続けるのか…? - どうにもならない日々@mkkn
  • PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記

    メリークリスマス! PHP Advent Calendarもいよいよ24日目に突入です。 昨日はxhprofについてでしたね。僕もパフォーマンスチューニングの際に使っています。手軽に利用できるのでお勧めです。 さて、このエントリーでは表題の通りMVCについて書かせていただきます。これは、PHPカンファレンス2012&WordCamp Tokyo2012合同LT大会で発表した「やはりお前らのMVCは間違っている」で煽るだけだったこの問題をきちんと解説するものです。 この発表資料を公開するとPHPの枠を超えて広く閲覧いただき*1、また多くの方から突っ込みを戴きました。「LTだから」と言って逃げていた回答をして、気持ち新たに新年を迎えようと思います。 MVCとはなんなのか 間違いを指摘する前にMVCがそもそもどういうアーキテクチャであるのかを確認しなければいけません。 MVCは1970年代にパロ

    PHPerのMVCの一体どこが間違っていたのか - MugeSoの日記
  • JavaScriptにおける、MVCフレームワーク以外の選択肢

    JavaScriptではさまざまなフレームワークが登場していますが、最近注目を集めているのがMVCアーキテクチャの実現を容易にするMVCフレームワークです。Publickeyでも以下の記事などで紹介してきました。 JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ JavaScript MVC座談会。遅くならない? それぞれの特徴は? サーバとの通信は?(前編) - Publickey JavaScript MVC座談会。遅くならない? それぞれの特徴は? サーバとの通信は?(後編) しかしプログラミングの世界では、MVCアーキテクチャ以外にもさまざまなデザインパターンがあります。JavaScriptプログラマはもっとそれらを検討すべきだ、という記事「The World Beyond MVC」(MVCの向こうにある世界)が、The David Wa

    JavaScriptにおける、MVCフレームワーク以外の選択肢
  • これはnode.jsの時代が来るか!?全て揃ったnode.jsフレームワーク·Tower.js MOONGIFT

    Tower.jsはフルスタックのnode.js用Webアプリケーションフレームワークです。 こ、これはやばい…。ついにnode.jsの時代が来るかもしれない、そう感じさせるWebアプリケーションフレームワークがTower.jsです。 インストールはnpmで簡単にできます。 まず新しいアプリケーションを作成します。 Scaffoldで簡単にコントローラ、モデル、ビューを生成。 生成された際の構成はこんな感じです。 towerコマンドのオプションです。 Webサーバを立ち上げ場合です。 Tower.jsはMongoDBをデータベースに、Redisはバックグランドジョブ、CoffeeScriptをメインの記述に使いつつ、Jasmineをテストフレームワーク、jQueryも使えるフレームワークです。メール、マイグレーション、MVC、RailsばりのO/Rマッピング、バリデーション、ルーティング、B

  • Backbone.js と比較しながら Knockout.js を試してみた - present

    Backbone.js を試したから Knockout.js にも挑戦 JavaScript のクライアント MVC フレームワークは Backbone.js でいこうと思っていたんですが、Knockout.js が Ver 2.0 でかなり機能追加されて、ちょっと心変わり。もともと Knockout.js のデータバインディング機能に興味を持っていたところに、テンプレート機能が追加されて、試してみたくなりました。 念のため説明すると、Knockout.js は、.NET 開発者にはお馴染みの、データバインディングや MVVM パターンが特徴のフレームワークです。 Knockout : Home ちなみに、Backbone.js の記事はこちら。 作って覚える Backbone.js - present 作って覚える Backbone.js (2) Router 編 - present T

    Backbone.js と比較しながら Knockout.js を試してみた - present
  • 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;

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

  • 1