タグ

mvcに関するtarchanのブックマーク (27)

  • 「MVCとはなにか」あとがき|tenjuu99

    登壇じたいが2回目というのもあって、あとで動画を見直してみると、まったくマイク使えていないし客席をほとんどみていないしでひどいな...とおもいました。 それはともかく。 背景 今回の発表にあたって、MVC原案者のトリグヴェ・リーンスカウクさんの論文やウェブ上の資料を読み漁っていたのですが、DCIアーキテクチャのコミュニティ(トリグヴェさんとジェームズ・コプリエンさん主催)のメーリングリストに次のようなスレッドがありました。 https://groups.google.com/forum/#!topic/object-composition/oJgHZl19hUM スレッドの発端は2016年のInfoQにMVCへの批判記事があがったことにあります。 この記事に対して、DCIアーキテクチャのコミュニティのメンバーの一人が、「MVCはもともとあなたが言うようなものではない」とコメント欄で反論し、

    「MVCとはなにか」あとがき|tenjuu99
    tarchan
    tarchan 2020/03/11
    >MVCはもともとあなたが言うようなものではない
  • 雑把の UI アーキテクチャー史(MVCからMVVMへ) | プログラマーズ雑記帳

    Web の場合は View と Controller の違いははっきりしてます。 View は html ページとその作成を担当します。 CGI は アドレスとパラメーター(アドレスの ? の後など)を受け取り、処理を行います。 その受け取り部分が Controller です。 Model と View ではなく、なぜ MVC としたのでしょうか ? 『 GoF 』 では Controller を分ける利点をいくつか挙げられています。 キーボードの応答を変えたり、メニューからの呼び出しに変更するとき、表示方法を変更しなくていい。 入力イベントを無視するといったことをコントローラーのインスタンスの入れ替えで可能。 その他にも "View を入れ替えれば、 PC アプリ、 Web アプリでも使えるように" という理由もあります。 ちょっと無理そうな話ですが、例えば、 PC アプリが次のような

  • 社長になるなら、MVCを学びなさい!

    プログラミング経験のないひとを社長とした場合、会社が今後たたかうことはかなり難しい、という理由を多岐にわたり具体例とともに挙げた記事を読みました。 同感です。 仕事のできないひとをトップに据えた会社は滅びます。 急速にせよ緩慢にせよ。 もし滅ばないようなら、その国が滅びます。 急速にせよ緩慢にせよ。 これは異論の出にくい部分ではないかとおもいます。 問題は、現代において、企業にとって最も重要な仕事とは何でしょうか、ということでしょう。 それは技術、とりわけIT、なかんずくプログラミングに他ならない、というのがリンク先の主張です。 社長が日々コードを書けとまでは言わないまでも(ザッカーバーグは今でも書いているそうですが)、コーディングの経験がなければ、会社が戦略の武器とするソフトウェア環境は、彼にとってまったくのブラックボックスです。どれを採用すればいいのか? 他人に聞かなければなりません。

    tarchan
    tarchan 2014/09/18
    >リーダーシップを培ううえで最も役立つ枠組みとして、MVC(モデル・ビジョン・コントロール)を挙げることができます。
  • 天下一MVCフレームワーク武闘会に参加してきました - TechTalkManiacs

    chaplin.js rails風 viewとモデルはBackbone reuseすると早い ただし再利用を意識しないと死ぬ CollectionView テストがない vue.js シンプル コンパクト モジュールフレンドリー 将来機能 web components observ riple.js reactiveなview componentファミリー 単機能なモジュールを組合せてアプリを作る knockout.jsの事例 10万行のアプリ 独自タグなし バインドが重いので、結局自前のライブラリを使うことに marionet.js backbone.jsベース view周りの面倒を見てくれる marionetからractiv.js marionetは書くことが多い 一部だけ使っていたら辛くて全部移行 あまり流行ってない 実は今は素のjs 1年沢山踏んできた AngularDart We

    天下一MVCフレームワーク武闘会に参加してきました - TechTalkManiacs
  • MVCの先、状態管理、ジェスチャー

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

    MVCの先、状態管理、ジェスチャー
    tarchan
    tarchan 2014/05/08
    >イベントがかぶってる ● フリックとスクロール – ユーザーは意識してる? ● タップ、ダブルタップ、ホールド、スクロール – 初回プレス、微動 ● ピンチとスクロール – 前後に1本になるタイミングがある →どこで
  • やさしい設計 〜 Android 編 - Qiita

    アプリを作っていてありがちなこと Android には、画面を構成するための Activity というコンポーネントがあり、概ね MVC フレームワークの Controller に相当する機能を持っています。 MVC といえば、肥大化する Controller というのがよくある問題として挙げられますが、Activity も例に漏れず、往々にして肥大化しがちです。 また、Model も、その責務を詰め込んでいくと肥大化しやすいレイヤと言えます。 この投稿では、Controller や Model の肥大化を極力防ぐためのレイヤわけを、Android アプリ向けに書いていきます。 Activity を綺麗に保つ Activity は、Controller として、様々な UI から受けるイベントを受けて、適切にハンドリングする役割を持っています。 OptionsMenu や ContextM

    やさしい設計 〜 Android 編 - Qiita
    tarchan
    tarchan 2014/02/20
    Qiitaはすぐログインできなくなるな。なんなんだ?
  • AngularJSのMVWパターンを理解する - Qiita

    12/4の記事(AngularJSを使ったWebアプリのアーキテクチャ設計)で書くと言ったまま放置していたので、AngularJSのMVCパターンについて書いてみたいと思います。 AngularJSのMVCについては、12/19のお前のAngular.jsはもうMVCではない。と言われないためのTutorialというすばらしい記事がありますが、記事ではもう少し抽象的な内容を扱ってみようかと思います。 MVW(Model-View-Whatever)パターンとは MVCパターンには、MVC2、MVP、MVVMなど数多くの派生パターンがあります。 目的は同じなのに派生パターンがたくさんあるのは、それぞれのプラットフォーム固有の問題(フレームワークの違いや、サーバサイドかクライアントサイドかの違いなど)によってMV*の*の役割が異なるからです。 AngularJSは公式ページで"Superhe

    AngularJSのMVWパターンを理解する - Qiita
    tarchan
    tarchan 2014/01/23
    >「MV*について議論するのは時間の無駄だから、そんな暇があったらコードを書け。MV*の*の部分なんて"Whatever"でいいんだ。」
  • Beyond MVC

    PHP Advent Calendar 2013 - 6日目 昨日は@fivestrさんのComposerを使った簡単Travis CI設定でした。 TL;DR オブジェクト指向/MVCでうまく捉えきれていなかったものは何なのか?MVCから続くソフトウェアアーキテクチャーの「その先」は何なのか?Reenskaug博士を知っていますか? WikipediaによればReenskaug博士は1930年生まれ。MVCという概念が世の中に送り出された論文『MODELS - VIEWS - CONTROLLERS (pdf)』は1979年ですから、49歳の時ということになります。1960年からソフトウェアを書き始め、1973年からオブジェクト指向でソフトウェアを開発しており、現在でも現役でソフトウェアの世界にいらっしゃいます(ex 2009年の講演)。「プログラマ歴42年 (* Clean Coder

    Beyond MVC
    tarchan
    tarchan 2014/01/07
    >MVCは人間とそのメンタルモデルに関するものであり、オブザーバパターンに関するものではない。
  • お前のAngular.jsはもうMVCではない。と言われないためのTutorial - Qiita

    JavaScriptフレームワークに興味あるし、Angular.jsを使ってみようかな・・・ そんな純真無垢なあなたを混沌の世紀末に引きずり込むのが、ほかでもないTutorialなのです。 TutorialではほぼControllerしか出てこないので、素直にこの通り書いているとまず間違いなく3カウントでControllerにコードが集中するいわゆるFat Controllerになり、せっかくMVCフレームワークも地獄の荒野になります。 実は、Angular.jsでまず目を通すべきなのはDeveloper GuideのConceptual Overviewです。これを読めばどう処理を分割するかがきちんと書かれていますが、以下ではそれ+経験をもとにAngular.jsで正しくMVCを使用するためのポイントをまとめました。 Angular.jsの3原則 1.Controllerはイベントハンド

    お前のAngular.jsはもうMVCではない。と言われないためのTutorial - Qiita
  • やはりおまえらの 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 回にゃあと鳴く
  • Angular.jsとBackbone.jsのDOM依存を図解する - ジンジャー研究室

    果敢にもMVCフレームワークの図解を試みたので、どうぞ! MVCの動機 MVCという言葉が初めて登場してから30年以上たった今、最早なんだったのか分からないほどMVCの定義は混迷をきたしているわけだが、どれがMVCでMVVMでMVPであるという定義についてあれこれ考察するのは個人的には好きでなくて、「結局何がしたいのか」という動機がぶれていなければ何でも良いと思っている。 じゃあそれは一体何なのかということを自分なりに考えてみたところ、次の一言に落ち着いた。 「ModelはViewに依存したくない」 世間的には(?)ModelとViewを単に「分ける」と説明されることが多いが、私はそれだけでは納得していなくて、依存の方向こそが重要だと思っている。たとえ分かれているように見えてもModelがViewを参照していたら、情報の取得先や表現方法は固定化されてしまう。 ModelはViewの事情から

    Angular.jsとBackbone.jsのDOM依存を図解する - ジンジャー研究室
    tarchan
    tarchan 2013/11/22
    >ModelはViewに依存したくない
  • L'eclat des jours(2013-10-25)

    _ WebMVCと設計パターン WebMVC(面倒なので以降はただのMVC。J2EEのMVCがSmalltalkのMVCと異なるMVCだということは既に10年以上の歴史があるのだから、今更どうでもよろしい)というのは、Transaction Script PatternとDomain Modelの間にまたがるスペクトラムだ。これがMVCの最大の特徴であり利点なのだが、なぜか、Transaction Script PatternとDomain Modelの両極端の声の大きい人が自分の視点を叫ぶ(実際に前者で声が大きい人はいない。彼らは沈黙のうちにコードを広める)。そこで混乱が生まれ、最悪のTransaction Script Pattern実装(貧血)と最悪のDomain Model実装(血 )が幅をきかせることになる。といっても、最悪のDomain Modelは普通は作れないのでそれほど

    L'eclat des jours(2013-10-25)
    tarchan
    tarchan 2013/11/12
    >特定パターンの知識を頭にたたき込むことではなく、そのプログラムの仕様を実現するには、どうすれば最も効率的(実行効率、保守効率、作業効率、管理効率、検証効率、配備効率などなどのさまざまな切り口について
  • 「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ

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

    「MVCの勘違い」について、もう一度考えてみる - 圧倒亭グランパのブログ
    tarchan
    tarchan 2013/11/12
    MVCは衰退しました
  • Martin Fowler's Bliki in Japanese - ドメインモデル貧血症

    http://martinfowler.com/bliki/AnemicDomainModel.html これはずいぶん昔からあるアンチパターンのひとつですが、今になって台頭してきているようです。 Eric Evans と話したのですが、彼も、それがだんだんポピュラーになってきていることに気づいていました。 私たちほど大の「真Domain Model」推進者としてみれば、ちょっとうれしくありません。 ドメインモデル貧血症の基的な症状は、一見、それが物のドメインモデルに見えるという点です。オブジェクトがいくつかあり、それらはドメイン空間にある名詞から名前をつけられています。それから、オブジェクト同士がしっかりとしたリレーションで結びついており、物のドメインモデルと同じような構造を持っているのです。 ただし、オブジェクトの振る舞いを見れば違いが分かります。それらのオブジェクトにはわずかな

  • 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年古い技術で設計されていて、最新のプログラミングパラダイムに対応していない。 しかしこの理由のう

    tarchan
    tarchan 2012/07/17
    >Modelはそれ以外の部分です。PDSでDomainにあたる部分です。すなわちアプリケーションのプレゼンテーションプラットフォーム固有の知識を必要としない領域全てです。
  • MVCは死んだ。MOVEするときがきた - きしだのHatena

    Conrad Irwinさんの「MVC is dead, it's time to MOVE on.」を訳してみました。 MVC is dead, it's time to MOVE on. この訳文も原文のライセンスを引き継いでCC-BY-3.0ライセンスで利用可能とします。 追記13:58 すでに訳してた方がいました。MVCの時代は終わった。MOVEを使い始めましょう。 - ふじこのプログラミング奮闘記 MVCは死んだ。MOVEするときがきた MVCはすばらしいアイデアだ。モデルを持ち、モデルは内部に少しの状態をもつ。ビューは内部に少しのUIをもつ。そして、コントローラは内部に少しの・・・ 何を持つ? 私は確かにこのことに気づいた最初の人物ではない。しかし示されたようなMVCの問題のために、あなたは最後には過剰なコードをコントローラに詰め込むことになる。なぜなら、他にどこに入れていいか

    MVCは死んだ。MOVEするときがきた - きしだのHatena
    tarchan
    tarchan 2012/07/06
    クロージャーとか遅延制約の有効利用
  • Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す - プログラマの思索

    Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す JavaでWebアプリを10年書いて思ったこと。 Webプログラミングは全然オブジェクト指向でない。 Sevlet+JSP主体のプログラミングスタイルは、リクエストとレスポンスへPrimitiveな値をどうやって渡すか、という手続き型の発想でしか書いていない。 従来のWebプログラミングスタイルの問題点について書いてみる。 以下ラフなメモ書き。 【参考リンク】 Wicketって? ウェブ開発をもう一歩前に Wicketで始めるオブジェクト指向ウェブ開発:第1回 Hello, Wicket|gihyo.jp … 技術評論社 【コラム】イマドキのIDE事情 (39) Wicket、Grails、Click - IDEでみる軽量Javaフレームワーク | エンタープライズ | マイ

    Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す - プログラマの思索
  • MVCの議論で思い出したこととか | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー たまにPython自体の技術コンサルみたいなことを頼まれることがある。プロダクトのコードを読ませてもらって,改善点を指摘したりするようなことをやる。 ただ,純粋にPythonにかかわるアドバイスって最初のうちだけで終わってしまい(Pythonは覚えること少ないからね),だんだんと設計みたいな部分に切り込んでゆくことになる。フレームワークを使ったコードで当によく見かけるのが「分厚いコントローラに薄いモデル」みたいな設計。もっと進んで「分厚いテンプレート(ビュー?)に薄いコントローラとモデル」というのもたまにあるんだけどあまりない,かな。 で,そういう場合は「テスト」を軸にして,設計上コ

  • 「RESTful MVC」なアーキテクチャの話

    最近、増井君と私でアーキテクチャの話をすることが多いのだが、そんなディスカッションの中で気に入っているのは左の図のようなアーキテクチャ。 もちろん、核となるのはビジネスロジックを含んだModelの部分。そこをしっかりと実装し、内部構造を隠す粒度の荒いインターフェイスを定義し、外から何をされてもデータの整合性が壊れない様にすることは何よりも大切。 そして、そのModel層へのインターフェイスを特定の言語に依存したクラスやAPIではなく、HTTP上でJSON(XMLでもかまわない)をやりとりするだけの RESTfulなWeb Serviceにすることがミソ。こうすることによりにより、どんなに締め切りに負われようが、誰がControllerを実装しようが「ずるができない」ように作っておく(ずる=来使うべき外部インターフェイスだけでなく、Model内部に直接アクセスして依存関係を作ってしまう事)

    「RESTful MVC」なアーキテクチャの話
  • Ruby on RailsのMVCは「えせMVC」? | スラド

    ストーリー by hylom 2009年10月14日 17時29分 結局は個々のスキルに依存するのよ、 部門より ブログ「Life is beautiful」の記事「Ruby on Railsの「えせMVC」の弊害」が話題になっている。 記事では、「RailsのMVCは厳密にはMVCではなく、Controllerにビジネスロジックを書いてしまうため、データの整合性を損なう可能性がある」との主張がなされている。これは、O/RマッパーであるActiveRecordをModelと認識してしまい、Controllerにロジックを書いてしまうからではないかと推測されている。RailsではMVCをきちんと理解していないとこういった作り方になってしまうので、フレームワークとしては不完全なのではないか? とも書かれている。 追記やコメントでは、「RailsではActiveRecord::Baseを継承して