タグ

MVCに関するmicknのブックマーク (22)

  • MVCの流れを簡単にまとめてみる - Qiita [キータ]

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

    MVCの流れを簡単にまとめてみる - Qiita [キータ]
    mickn
    mickn 2014/01/15
  • やはりおまえらの MVC は間違えている in バックボーンジェーエス - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    続編の紹介 続編 やはり俺のMVCは間違えている in Backbone.js を書いた。そっちのほうが有益な情報が乗ってると思うけど面白くないかもしれない 以下編 MVC の話と宗教の話と政治の話と野球の話はしてはいけないそうですがそんなの知るか俺はするぞ クライアントサイド MVC の話 そもそも MVC の出自が GUI アプリケーションのために生まれてきたものなので「クライアントサイド MVC」などと言う言い方をしなければならない状況がすでに憎いのだけれど、まあそれはおいておく。 「うちは Backbone.js を使っているから MVC でクライアントサイドが作られていて保守性が高いです」みたいなことを言う人間がたまにいるが、Backbone.js をつかったから(あるいは Marionette.js を使ったらから)といって自動的にお前のアプリケーションが MVC になるわけ

    やはりおまえらの MVC は間違えている in バックボーンジェーエス - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    mickn
    mickn 2013/11/11
  • 「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ

    お久しぶりです。@at_grandpa です。 今回、Model View Controller について再考する機会があったので、自分なりに整理してみました。 勘違い MVCの勘違いに関しては、以下のSlideShareが有名かと思います。 やはりお前らのMVCは間違っている @mugeso これにはドキッとしたことを覚えています。 このスライドで「間違っている!」と指摘されている形式を、そういうものだと理解していたからです。 上記で指摘されている勘違い形式を、自分なりにわかりやすく噛み砕き、図にしてみました。 Userからの入力をControllerが受け取る Controllerはデータ置き場であるModelからデータを取得する 取得したデータをControllerが加工する 加工したデータをViewに転送する Viewは、受け取ったデータを視覚表現しディスプレイに表示する 自分の中

    「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ
    mickn
    mickn 2013/11/01
  • RequireJS+Backbone.jsでモジュール管理されたWebアプリ開発 | DevelopersIO

    Todoアプリもどきを作る 今回はRequireJSの理解を深めるため、Backbone.jsと組み合わせてTodoを追加するだけの簡素なデモを作ってみました。 Backbone.jsについても触れているため、記事が少し長いです。 お急ぎの方はページ下部にデモとサンプルコードがあるので、そちらをさくっとご確認ください。 RequireJS: http://requirejs.org/ RequireJS API: http://requirejs.org/docs/api.html Backbone.js: http://backbonejs.org/ なにができるの? Webアプリを制作する際に、RequireJSを使ってBackbone.jsで構成されるModelやViewをモジュール化することで、開発時の管理コスト削減を目指します。 なお、モジュール化するとファイル数が増えて読み込み

  • AngularJS ― Superheroic JavaScript MVC Framework

    AngularJS support has officially ended as of January 2022. See what ending support means and read the end of life announcement. Visit angular.io for the actively supported Angular. Why AngularJS? HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resu

  • 大規模JSでのBackbone.js/CoffeeScript について考えてみた - mizchi log

    これ読んでたらr7kamura君にJSのMVCどうするの的な話きかれてたのを思い出したので、自分がBackboneを使う時のパターンをr7kamura君の記事をベースに書きなおしてみた。 > サバクラ両方で動く JavaScript の大規模開発を行うために ― Gist https://gist.github.com/1362110 > client-side javascript - ✘╹◡╹✘ http://r7kamura.hatenablog.com/entry/2012/10/18/023629 以下の様なコードを書いた。かなり冗長だが、複雑なアプリだとこれぐらいの冗長性は必要になる。 (なお概念を伝えるための解説用コードなのでそのままじゃ動かない) Backbone.Model # 名前空間の初期化 App = {} App.View = {} App.Model = {}

    大規模JSでのBackbone.js/CoffeeScript について考えてみた - mizchi log
  • Dátiles Sin Carozo 1kg

    Todas las semanas tenemos muchas sorpresas. ¿Te gustaría recibirlas?

    Dátiles Sin Carozo 1kg
  • AngularJS フレームワークについて

    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

    AngularJS フレームワークについて
  • Using JavaScript's Prototype with MVC | Envato Tuts+

    As you can see above, the header inherited its font color property from its parent container though the CSS behavior of cascading. This behavior is quite similar to the concept of inheritance in OOP. We can also see that the header is a child of the container, inheriting certain properties, based on the behavior of the element. When we see our elements from this perspective, we have a better defin

    Using JavaScript's Prototype with MVC | Envato Tuts+
  • 【雑記】 そろそろMVCモデルについて一言いっておくか

    なーんて、MVCを語れるほどの知識はないのだが、琴線に触れてしまったので、私なりに言いたいことを言うことにする。 当は、こんな話より先に、先日参加したGAE Nightの話や、Winnyの金子さんが無罪になった話を書きたいのだけど、ココとか、ココとか、ココとか、ココとか、毎日毎日毎日毎日、MVCを語られると、何かいいたくて、もう我慢できなくなってしまった。(これはエンジニアの性なのか!?) 中島さんのBlogのなかで最も釣られてしまうキーワードは「えせ」。これを使うということは、自分の考えだけが正しくて、他は間違いであるということを暗にいっているようなもの。多くの人はそれに反応してしまうから、感情論になって、あまりよい結論は見い出せなくなってしまっているんじゃなかろうか。中島さんの言っていることは概ね理解できるし、RESTfulな設計などは私の考えと被る部分もあって、ほぼ同意できるのだが

    【雑記】 そろそろMVCモデルについて一言いっておくか
    mickn
    mickn 2009/10/20
  • XP Epsiode

    Chose Vacation RentalsTips for renting your Vacation Rentals Whether you are a tenant or a landlord, here are some practical tips to help you prepare your vacation. Booking a vacation rental The reservation of your holiday rental is made directly with the landlord. It is recommended to confirm your reservation by sending a rental contract and a deposit or deposit. The balance of the stay will be p

    mickn
    mickn 2009/10/13
  • 使わないと損をするModel-View-Controller MVC

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

    mickn
    mickn 2009/10/13
  • Ruby on Railsは「えせMVC」じゃないよー - このブログは証明できない。

    Life is beautifulのこのエントリーは「釣り」でしょ? no title 先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 ということで、MVCの解説をされています。それは、OK。で、Railsが「えせMVC」だという理由。 ActiveRecordそのものはとても便利なもので全く問題はないのだが、問題はRailsの解説書などでActiveRecordを使って抽象化されたデータベースをModelと読んでいるケースが多く見受けられる点だ。 上に述べた通

    mickn
    mickn 2009/10/12
  • Ruby on Railsの「えせMVC」の弊害

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

    mickn
    mickn 2009/10/12
  • Webアプリにおける適切なレスポンスボディとは - 岩本隆史の日記帳(アーカイブ)

    「HTTPの仕様からWebアプリのMVCを見直す」という記事を書きながら、Webアプリにおける適切なレスポンスボディとはどのようなものなのか、あらためて考える必要があると感じました。今回の記事はその実践です。 考えるべきケース まず下記のようなケースは、答えが自明であり、考えるまでもないものです。 要求されたリソースの表現を返せばよい場合(例:GETで「200 OK」) レスポンスボディを返してはならない場合(例:「204 No Content」「304 Not Modified」) そのように処理すればよいだけだからです。 考えるべきは、下記のようなケースです。 正常に処理されたことを伝えたい場合(例:PUTで「200 OK」) 他のリソースを参照させたい場合(例:「201 Created」「303 See Other」) クライアントに入力値の修正をうながしたい場合(例:「400 Ba

    Webアプリにおける適切なレスポンスボディとは - 岩本隆史の日記帳(アーカイブ)
    mickn
    mickn 2009/04/27
  • HTTPの仕様からRESTfulなWebアプリのMVCを見直す - 岩本隆史の日記帳(アーカイブ)

    Smalltalk由来のMVCとWebアプリのMVC 最近、WebアプリにおけるMVCに関する記事をふたつ書きました。 WebアプリでもSmalltalkのMVCパターンが使えるかも サーバサイドでSmalltalkのMVCパターンを使うのは無理があるかも これらの記事で私が想定しているのは、GUIのフォームに何らかの文字列を入力してボタンを押すと、モデルの内容が変更され、その変更を感知したビューが自身を書きかえるという、Smalltalk由来のMVCです。 Webアプリのフレームワークで俗にMVCとよばれる実装は、Controllerのメインメソッドの中でModelを変更し、Viewのインスタンスを作って変更結果をassignする手法です。私はこれが嫌いで、Smalltalk由来のMVCをWebアプリで使いたくなったわけです。 このことは、ひとつめの記事にも書きました。 私は以前から、W

    HTTPの仕様からRESTfulなWebアプリのMVCを見直す - 岩本隆史の日記帳(アーカイブ)
    mickn
    mickn 2009/04/27
  • サーバサイドでSmalltalkのMVCパターンを使うのは無理があるかも - 岩本隆史の日記帳(アーカイブ)

    「WebアプリでもSmalltalkのMVCパターンが使えるかも」という記事に書いたアイディアについて、ここしばらく考えていました。結果、より良いと思われるアイディアが見つかったため、捨てることにします。 リソースをHTMLでのみ表現するならば、ブラウザに表示されているビューと同じ意味を持つ仮想ビューをサーバサイドに作ることによって、美しいMVCが使えると今でも思っています。しかし、リソースをAtomやらRSSやらJSONやらで表現する場合を考えると、うまくいきそうもありません。 HTMLではデータとUIが混在する HTMLには、それ自体にUI(フォーム)が含まれています。ひるがえって、AtomやRSSやJSONはデータそのものです。たとえばAtomPubクライアントに表示されているビューと同じ意味を持つ仮想ビューをサーバサイドで作ったところで、クライアントに返すべきはデータだけなのですか

    サーバサイドでSmalltalkのMVCパターンを使うのは無理があるかも - 岩本隆史の日記帳(アーカイブ)
    mickn
    mickn 2009/04/27
  • Aida/Web Smalltalk Web Framework and Application Server

    Download one-click imageif you are new to Smalltalk, while for others there are distributions for six Smalltalk dialects: This is how the Web works! Be on the web frontiers with Smalltalk, try Aida/Web! Aida is a Smalltalk web application framework for building complex web applications with latest seamlesly integrated HTML5 technologies for today's real-time web. MVC, REST, Mobile, WebSocket, you

    mickn
    mickn 2009/04/27
  • SeasideへGO!!インデックスページ | オブジェクトの広場

    技術講座] Seaside へ GO!! -- 楽々サーバサイド Web プログラミング -- ブループレイン 梅澤 真史 第1回: Seaside を試す 第2回: コンポーネントの作成 第3回: コンポーネントの連携 第4回: データベースへの接続 part 1 第5回: データベースへの接続 part 2 第6回: Seaside で GO!!! Let's "do it"!! © 2008 - 2009 Masashi Umezawa HOME TOP

    mickn
    mickn 2009/04/27
  • WebアプリでもSmalltalkのMVCパターンが使えるかも - 岩本隆史の日記帳(アーカイブ)

    WebアプリのMVCとSmalltalkのMVC Webアプリの実装パターンとして使われるMVCという言葉は、来の意味でのMVC、つまりSmalltalkでGUIアプリを構築する際に使われるMVCとは内容が異なります。まつもとゆきひろさんの書かれた「まつもと直伝 プログラミングのオキテ 第20回 MVCとRuby on Rails」で解説されている通りです。 私は以前から、WebアプリのMVCは美しくないと思っていました。特に美しくないと感じるのは、モデルの処理に失敗したときにフォーム再表示用のビューを作ってエラーメッセージをassignするような場面です。SmalltalkのMVCならば、処理が失敗したことをビューに通知し、ビューを更新すれば済みます。 そして、クライアントサイドにGUIがある以上、美しくないMVCがWebアプリに採用されるのは必然であるとも思っていました。クライアント

    WebアプリでもSmalltalkのMVCパターンが使えるかも - 岩本隆史の日記帳(アーカイブ)
    mickn
    mickn 2009/04/27