タグ

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

  • AndroidではMVCよりMVPの方がいいかもしれない - Konifar's WIP

    Android開発していると、なんかMVCうまくいかないなぁとモヤモヤしてきました。そろそろ他のアーキテクチャを模索してみた方がいいんじゃないかと思い始めまして、ある程度考えがまとまったので自分なりの指針を残しておこうと思います。 そもそもアーキテクチャ必要なのか 世の中には色々なアーキテクチャが存在するんですが、なんか概念を読んでもスッと理解できることが少ないんですよね。これはなぜかと言うと アーキテクチャが解決しようとしている問題を理解できないからです。 極端に言うと、HelloWorldを表示するアプリにMVCを導入する必要があるの?って言うと答えはNoですよね。じゃあの名前をリストで表示するアプリだったらどうかと言われると、これもまだ必要ないかもしれません。 つまり、アーキテクチャを適用しなくても問題がないほど小さなアプリにおいては、ただ冗長になるだけなので別にいらないわけです。

    AndroidではMVCよりMVPの方がいいかもしれない - Konifar's WIP
  • iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い

    iOS/Androidアプリを作る際に理解しておいて欲しい「Model」という役割について説明します。わりと意識していないケースがあるので、チェックしてみてください。

    iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
  • エンタープライズで使える!実践から学ぶJavaScript MVCフレームワークの選び方

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

    エンタープライズで使える!実践から学ぶJavaScript 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の流れを簡単にまとめてみる - Qiita [キータ]

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 理解しやすいように適当に遮ったり、言い切ってしまったところもあるがご容赦いただきたい。 MVCの登場 MVCは、SmalltalkのGUIライブラリのモデルとして登場した。 これはGUIアプリケーションを記述する際に、適切なモデル化を進めるのにとてもいい考え方だと思われていたし、実際にそうだった。 これはアーキテクチャパターンとして、それぞれがどのように依存するべきか、どこにコードを書くべきかということを端的に表している。 安定依存の原則というものがある。これは、要件が安定しているモジュールに依存し、要件が変動しやすいモジュールには依存

    MVCの流れを簡単にまとめてみる - Qiita [キータ]
  • JavaScript MVCフレームワークの「Ember 1.0」正式リリース

    JavaScript MVCフレームワークの1つとして知られる「Ember」が、長く続いたβ版の期間を終えて正式版の「Ember 1.0」として公開されました。 EmberはBackbone.jsやAngularJSなどとともにJavaScript用のMVCフレームワークとして知られています。特徴は、テンプレートエンジンのHandlebarsを利用して、データを変更すると動的にビューの部分、つまりWebページ上の表示が自動的に変更される「UIバインディング」など、機能が豊富な点です。 これにより、データを受け取ってそれに合わせてUI表示を書き換えるといった処理をフレームワークに任せることができ、コーディング量が減り、効率的な開発が行えるようになっています。 現在W3Cで策定中のWeb Componentsに似たコンポーネント機能も備えており、独自タグに対して動作と外見を定義し、Webアプリ

    JavaScript MVCフレームワークの「Ember 1.0」正式リリース
  • MVCフレームワークのBackbone.jsが正式版1.0に到達。jQuery互換のモバイル向け「Zepto」も1.0に

    MVCフレームワークのBackbone.jsが正式版1.0に到達。jQuery互換のモバイル向け「Zepto」も1.0に JavaScriptのMVCフレームワークとして、おそらくもっとも知名度が高いと思われるBackbone.jsが、ついに正式版となるバージョン1.0としてリリースされました。 Backbone.jsは、わずか1500行程度のとても軽いフレームワークなのが最大の特徴です。昨年末には翻訳コミュニティのenja-ossによってコメントをすべて日語訳したソースコードが公開されています。 MVCを実現するのにフォーカスしたフレームワークのため、jQueryやテンプレートエンジンのHandlebarsと組み合わせて使うのが一般的です。 バージョン1.0をリリースし、今後のBackbone.jsはどうなっていくのでしょうか? ドキュメントには次のように書いてあります。 In an

    MVCフレームワークのBackbone.jsが正式版1.0に到達。jQuery互換のモバイル向け「Zepto」も1.0に
  • 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フレームワーク以外の選択肢
  • いろんなJavaScript MVCフレームワークで作られた同一のToDoアプリで違いを学ぶ「TodoMVC」

    JavaScriptでMVCの構造を持つアプリケーションを開発するためのフレームワークが10種類以上登場し、この分野が盛り上がっていることは、以前の記事「JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ」で紹介しました。 その各種JavaScript MVCフレームワークの違いを学ぼうというのが、Webサイト「TodoMVC」です。 ToDoMVCでは、AngularJSやBackbone.js、Ember.js、Spine.jsなど主要なMVCフレームワークを用いて開発したToDoアプリをまとめて公開しています。 開発されたToDoアプリはほぼ同一の外観や機能を備えています。これにより、それぞれのソースコードを見ることによって、各MVCフレームワークがどのようなコーディングスタイルを用いているのか、どのような機能を提供しているのか、といった違い

    いろんなJavaScript MVCフレームワークで作られた同一のToDoアプリで違いを学ぶ「TodoMVC」
  • MOVEは望まれなかった子 - the sea of fertility

    なにやらMOVEが話題です。 MVC is dead, it’s time to MOVE on. http://cirw.in/blog/time-to-move-on [翻訳]MVCは死んだ。MOVEするときがきた きしだのはてな http://d.hatena.ne.jp/nowokay/20120704 Twitterで「”MOVEは生まれた瞬間死んだ” って記事まだー?」って騒いでたら「お前が書けよ」の流れだったので息抜きに書きます。息抜きなので図が無いのは勘弁してください。 MOVEが生まれていない理由 この文中ではMOVEが生まれた理由はMVCの問題点に関わるとされており、そのMVCの問題点としてされているのは次の2点です。 MVCではControllerが肥大化する MVCは10年古い技術で設計されていて、最新のプログラミングパラダイムに対応していない。 しかしこの理由のう

  • JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ

    グーグルが開発したJavaScript MVCフレームワーク「AngularJS」を紹介した1つ前の記事の反応が予想以上に大きく、1日たたずにブックマークが500以上もつきました。 記事では、AngularJS以外にもすでにたくさん存在するJavaScript MVCフレームワークに関する情報をまとめて紹介したいと思います。 JavaScript MVCフレームワークの比較記事 既存のJavaScript MVCフレームワークを比較した記事が「The Top 10 Javascript MVC Frameworks Reviewed」です。Top10と書いてありますが、12種類のフレームワークの比較です。これは公開当時は10種類だったものが、その後11種類になり、今回のAngularJSの公開で12種類になったためです。 上記のような比較表を載せた上で、12種類すべての利点と欠点を説明し

    JavaScript MVCフレームワークはすでに十種類以上、その比較や最新情報などのまとめ
  • 全裸で学ぶMVC事始め - ゆーすけべー日記

    一般的なWeb Application Framework(WAF)ではMVCという設計及び実装における概念が取り入れられています。 MVCに従ってつくるのが全てではありませんが、 WAFを使うと共に、一度はMVCを用いたWebアプリの開発経験はしておいた方がよいと思います。 MVCはモデル(Model)、ビュー(View)、コントローラ(Controller)の3つの単語を組み合わせた言葉で、 この3つで概念が成り立っています。 クライアントがWebに対してリクエストをした時に、これら3つがそれぞれ連動して結果を返します。 一般的には以下のような処理経路をたどります。 クライアントがWebサイトにリクエスト コントローラがリクエストの処理を行い、モデルとビューを動かす 必要に応じてモデルを呼び出す 結果のデータをビューに渡す ビューがHTML化などをしたものをクライアントに表示する MV

    全裸で学ぶ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をさらに抽象化した

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