【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した
MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPress、Twitter、37signals のサービスのようなものを作ろうとするとき、どういう MVC 設計をしていくかについて考えます。巨大なシステム、金融系システム、基幹系システムなどを作る場合とは異なる考え方もあると思います(そもそも MVC を使わない、など)。 肥大化するコントローラを避ける例えば、八百屋さんで「60円で仕入れたリンゴ1つを100円で売った」こと(Sales Transaction)を記録する場合を
Does My Rails App Need a Service Layer? Jared Carroll · January 10th, 2012 Sometimes during domain modeling you come across something that isn’t a thing. These operations that don’t quite belong to an object are called services. Services often live in a separate, service layer. The service layer lies between controllers and models, defining an application’s interface, its API. Designing with servi
MVACというアーキテクチャを解説した記事が人気っぽいです。はてな発祥なのでしょうか、解説してる記事が他には見当たりません。 Web Applicationを綺麗に設計するためのMVACという考え方 - Dive into the Tech World! 補足 - Web Applicationをきれいに設計するためのMVACという考え方 - Dive into the Tech World! この記事だけを読んだとして、結論から言うと、Aは必要ありません。ここで言うAは、MVCのMに含まれます。あえてAを分離する必要性はありませんし、むしろ、分離できるものではありません。(追記)と思ったんですが、書いてるうちに、Aの役割が曖昧だから議論できないよなという結論に達しました。 先に書いておくと、id:shiba_yu36を攻撃する気は微塵もありません。勉強熱心な人は無条件で応援したくなります
18 October 2006 — The "Fat Controller" anti-pattern is shown and dissected, and the reader is taken through the process of refactoring it into a more readable, maintainable, and testable solution — 5-minute read When first getting started with Rails, it is tempting to shove lots of logic in the view. I’ll admit that I was guilty of writing more than one template like the following during my Rails
rubyのwafでsinatraが最近人気なのでBBS作ってソース晒してみた。 http://github.com/hirafoo/sinatra_bbs/tree/master rubyもrailsも、ほぼ知識無しの状態でやったので色々見苦しいはず。俺が使えるのはrailsの中でのマイグレーションのみです。 sinatraについては以下が大変参考になります。 http://labs.unoh.net/2009/05/sinatra.html 第9回 SinatraとSequel・Hamlで掲示板アプリを作る:Ruby Freaks Lounge|gihyo.jp … 技術評論社 作ったBBSの機能、特徴など。 ActiveRecord使用 railsと同じコマンドによるマイグレーション セッション管理 セッションをDBに保存 ログイン 認証 ページング ERB使用 にげっとのソースを晒し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く