タグ

MVCに関するastk_fのブックマーク (81)

  • MVCとはなにか|tenjuu99

    この記事は、2019年12月1日に開催されたPHPカンファレンスでの「MVCとはなにか」という題の登壇内容の書き起こしです。スライドはこちらです。 1. はじめに MVCの悪かった点は、わたしたちがどう実装したかという点だ。それはあまりに機械的だった。 https://news.ycombinator.com/item?id=8841428 ある人がアラン・ケイに対して「MVCについてどう思うか」という質問をして、それに対するメールでの回答がHacker Newsというサイトにのっていました。前提をお話すると、MVCというアイデアは、だいたい40年以上まえにパロアルト研究所というところで、アラン・ケイがパーソナルコンピュータの開発をしていたときに、客員研究員としてトリグヴェ・リーンスカウクさんという人が訪れて、そのとき他の研究所のメンバーとも話あって作ったアイデアがMVCになります。 MV

    MVCとはなにか|tenjuu99
  • フロントエンドのつくりかた

    フロントエンドの特定技術について語る解説は多くあれど、そもそもフロントエンドのつくりかたについて語った解説は多くないのではないでしょうか。 フロントエンドという大きな領域ですので恐れ多くもありますが、私が GUI プログラミングに携わった経験をもとにお話した内容のスライドとその補足をここでしたいと考えます。 スライド スライドのページ数は多いですが、差分がほとんどですので、それほど構える必要はないです(カーソルキーに負担がかかるという問題を除いて)。 補足解説 大きなテーマごとに補足をしていきます。 スライドで取り上げているテーマは次の4つです。 GUI アーキテクチャパターン データの同期 エラーハンドリング コンポーネント構造 「GUI アーキテクチャパターン」はいわゆる MVC や MVP といわれるものがどういったものかを解説する章です。 「データの同期」は画面と実際のデータが離れ

    フロントエンドのつくりかた
  • 開発中のアプリをMVVMからMVCに戻した理由 MVVM×RxSwiftでの開発で得られた教訓

    2018年12月12日、株式会社サイバーエージェントにて「CA.swift」の 第7回が開催されました。AbemaTVやAmeba、AWAなどを担当しているiOSエンジニアが登壇し、それぞれのチームの開発ノウハウを惜しみなく語るイベント。今回は、『iOSアプリ設計パターン入門』の著者2名を含む5人のエンジニアが、iOS開発における知見を披露します。プレゼンテーション「なぜうちのチームは開発中のアプリをMVVMからMVCに戻したのか」に登壇したのは、株式会社ゆめみの史翔新氏。講演資料はこちら 開発中のアプリをMVVMからMVCに戻した理由 史翔新氏:先ほど紹介に預かりました史と申します。ふだんの勉強会では、loveeとか、星野さんと呼ばれているので、お気軽にどれでも好きな呼び方でお願いします。 というわけで、「なぜうちのチームは開発中のアプリをMVVMからMVCに戻したのか」というタイトルで

    開発中のアプリをMVVMからMVCに戻した理由 MVVM×RxSwiftでの開発で得られた教訓
  • ライブラリを使わずにMV*の話(iOS)〜MVC, MVP, MVVM〜

    話すこと アプリの責務の分け方 Model アプリ内で扱う状態・値を持つ Modelの外から指示を受け処理を行う 状態・値の変化をModelの外へ間接的に知らせる View/Whatever 画面の構築/表示 ユーザー操作の受付 アクションを定義する アクションの結果/途中経過を受け取る 内部表現を視覚表現へ変換する MV* の種類 View/Whatever間での仕事の分け方は複数ある (Model-View-Whatever 間の接続の仕方も複数ある) 分けた後のクラス連結の仕方 Commandパターン(直接指示する) Observerパターン(間接的に通知する) 対象読者 Fatなクラスを作りがちで困っている人 責務の分け方にはどういうものがあるのか知りたい人 分け方と分けた後のクラス間の接続がわからず困っている人 話さないこと ■ MV*の歴史的経緯 理由: どれが正史か判断する手

    ライブラリを使わずにMV*の話(iOS)〜MVC, MVP, MVVM〜
  • MVC→MVP→MVVM→Fluxの実装の違いを比較してみる

    iOSDC 2017 9/17 13:50 TrackB https://iosdc.jp/2017/node/1396 iOSDesignPatternSamples https://github.com/marty-suzuki/iOSDesignPatternSamples Flu…

    MVC→MVP→MVVM→Fluxの実装の違いを比較してみる
  • iOSアプリケーションアーキテクチャ : MVVM、MVC、VIPER電撃比較

    About the content This talk was delivered live in June 2016 at mDevCamp. The video was transcribed by Realm and is published here with the permission of the conference organizers. MVVM、MVC、VIPERなど多様なアーキテクチャデザインがありますが、どれが一番良いのでしょうか。この講演では良いiOSアプリアーキテクチャを構成するためにどのような要素が必要なのかを見ていきます。 導入(0:00) New York Timesで働いているKrzysztof Zabłockiです。オープンソースまたは私が作ったFoldifyアプリを通じて私の名前を聞いたことがある方がいるかもしれません。もしかしたらObjectiv

    iOSアプリケーションアーキテクチャ : MVVM、MVC、VIPER電撃比較
  • モバイルアプリアーキテクチャ勉強会 - Qiita

    これは社内勉強会で利用した資料です。 そのため、語尾が雑だったり主観的な記述が多いですが、懐に眠らせておくよりは公開したほうが世のためになると考え、この記事を公開します。 この勉強会の目的 過去のアーキテクチャからナウいアーキテクチャまで一通り学ぶことで、今後の開発やリファクタリングの指針としたい。 アーキテクチャとは MVC とか MVP とかの、ディレクトリ構成や各レイヤで何を担当するかなどの話です。 今回は特にモバイルアプリ、どちらかというと iOS よりの話です。 アーキテクチャは必要か? 標準に従うんじゃダメなの? iOS コントローラは UIViewController を継承する ViewController ...? 普通に書くと View と Controller がぐっちゃぐっちゃ FatViewController へ... つまり M-VC iOS も Androi

    モバイルアプリアーキテクチャ勉強会 - Qiita
  • 10分で振り返るソフトウェアアーキテクチャの歴史2017

    CAMPFIRE iOS #1 - connpass https://yj-meetup.connpass.com/event/51735/ での発表資料です。 (2017/3/23追記): 各所からいただいたフィードバックに基づき、不正確な記述を修正しました。(Nyohoさん、あんざ…

    10分で振り返るソフトウェアアーキテクチャの歴史2017
  • iOSアプリ設計大全集 2016 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? iOS関係の勉強会に参加するとほぼ間違いなく、設計に関する発表があるように思います。 「RxSwiftを使ってMVVM...」「Clean Architectureを導入...」, etc... 色々話を聞く中で、自分は以下のような課題があるなぁと感じています。 いろいろな設計方法があるけれど、結局何を使うべきなのかわからない 名前は聞いたことがあるけれど、それぞれがどのような設計で、何がメリットなのかわからない 勉強した時は分かったような気がしたけれど、もう忘れた この記事はこれらの解決の一助になればと思って書いたものになります。(設

    iOSアプリ設計大全集 2016 - Qiita
  • 今から新規でAndroidアプリを書き始めるなら。 - wakwak3125's blog

    この記事は Android Advent Calendar 2016 2日目の記事です。 こんにちは。わくわくです。 現在お仕事で書いているアプリを新規で書き始めたのが2015年で、現在は2016年です。 そう、1年が経ちました。その頃から今まで書いてきて、今から書くならこんなライブラリや設計を採用するよ(したいよ) というのをまとめたいと思います。 これからAndroidアプリを書くけどどんなものつかっていけばいいんや〜?といった方の参考になれば幸いです。 すでにAndroid開発をされている方にとっては内容が薄く感じられることと思いますがご了承いただければと思っております…(予防線) (裏の目的としては自分の備忘録のようでもあったりします。) この記事では紹介しているライブラリや設計などに関しては深くは説明を書きませんが、参考になる資料などをまとめて行ければと思っております。 言語につ

    今から新規でAndroidアプリを書き始めるなら。 - wakwak3125's blog
  • GoでのWebアプリケーションの組み立て方 - Qiita

    はじめに 11月末に何故かアドベントカレンダーの一日目が空いていたので急遽この記事を作成することになりました。急いで書いたので不備などありましたらすみません。 新しい職場に転職後、業務としては初めてGoでWebアプリケーションを作成しました。 スクラッチで書かせてもらえたので、試行錯誤しながら一通り組むことができました。 また経験豊富な同僚からもアドバイスいただいたこともあり、 かなりGoのWebアプリの組み方について知見がたまりました。 そこで、MVCアプリケーションを組む上でどのような構成にしたらよいかについて、 特にコントローラ層を中心に自分の考えを紹介したいと思います。 MVCの設計 元々Rails等を書いていたので所謂WebのMVC(Model2)をベースに考えます。 View 書いたWebアプリケーションはAPIサーバだったので、実はあまりここについて出せる知見はありません。

    GoでのWebアプリケーションの組み立て方 - Qiita
  • フロントエンドにおいてModel-View-Controllerは死んだのか? | POSTD

    多くのフロントエンド開発者が 一方向のアーキテクチャ を採用し始めている中で、Model-View-Controller(MVC)に未来はあるのでしょうか。 状況を把握するために、まずはフロントエンドのアーキテクチャの進化を振り返ってみたいと思います。 過去4年にわたり、私は多数のWebプロジェクトに取り組み、フロントエンドの構築、そしてフロントエンドとフレームワークの統合に多くの時間を費やしてきました。 2010年以前は、従来のウェブサイトにDOM操作を追加する場合は大抵JavaScript( jQuery が書かれたプログラミング言語)が使用されていました。当時の開発者はアーキテクチャ自体についてはそれほど気に掛けていなかったと思います。コードベースを構造化する場合、 Revealing module pattern のようなものがあれば十分でした。 現在、多くの議論が交わされているフ

    フロントエンドにおいてModel-View-Controllerは死んだのか? | POSTD
  • MVVMって何? というか…MV○丸ごと、何?

    shibuya.swift #4 (http://shibuya-swift.connpass.com/event/31031/) で発表したスライドです。 もっと詳しいMVVMの話はこちら: 健康的なMVVM 書いてますか? ~MVVMアンチパターン集~ (https://speakerdeck.com/takasek/jian-kang-de-namvvm-shu-itemasuka-mvvmantipatanji)

    MVVMって何? というか…MV○丸ごと、何?
  • 責任(関心)を意識したアプリケーション設計 - Qiita

    プログラムが上手く組めるようになりたい プログラミングが上手くなりたいと考えたときに、個人的には『名付けを意識』するのと、『アプリケーション設計のときに責任を意識する』考え方を取り入れることをおすすめしております。 今回は『アプリケーション設計のときに責任を意識する』ことについて書いてみたいと思います。 基的には単一責任原則と、関心の分離のお話になります。 ※ タイトルに『関心』というワードがありますが、アスペクト指向プログラミングの話ではありません 単一責任原則とは まずは単一責任原則とは何かについてです。 よく単一責任原則の説明では「クラスを変更する理由は複数存在してはいけない」というニュアンスの言葉がよく使われます。 例えば、社員管理システムの実装を行いたい場合、一つのクラスに「社員登録」「出勤管理」「給与管理」などの機能を詰め込むと、『社員登録』の変更をする際にそのクラスが変更さ

    責任(関心)を意識したアプリケーション設計 - Qiita
  • MVCのモデルを分割する方法 - 浜村拓夫(・∀・)作品集

    MVCフレームワークでWebアプリケーションを作成するとき、肥大化していくモデルをどのように分割すれば良いのか?悩みます。 いつもは適当にやっているのですが、だんだんファイル数、クラス数、メソッド数が増えてくると、把握しづらくなって、辛くなってきますw 他の人のやり方を参考にして、モデルを適切に分割する方法を検討してみました。 ●Webアプリとは? Webアプリの特徴は、インターネットをはさんで、 (1) クライアント側 (2) サーバー側 に分かれていることです。 サーバー側は、 (a) DB(データを置いておく場所。通常はリレーショナルデータベース) (b) DBのラッパー(CRUDを担当するアプリケーション層) に分かれています。 で、このラッパー部分(b)に、MVCフレームワークを使っています。 (via もみじ饅頭(こしあん):もみじ饅頭のやまだ屋) MVCフレームワークは、 (

    MVCのモデルを分割する方法 - 浜村拓夫(・∀・)作品集
  • 私がMVCフレームワークをもはや使わない理由

    数ヶ月前、私はなぜここにたどり着き、何が可能かを理解する旅に出ました。この旅は、私にアプリケーションアーキテクチャ、MVCという強烈な宗教に対する疑いをもたらしました。そして、リアクティブ、関数型プログラミングの真の実力に触れたのです。また、シンプルさに集中する旅でもあり、私たちの産業はうまくやっているという考えを捨てる旅でもありました。どんなことを見つけたか興味がある方もいるでしょう。 私たちの見ている画面の背後にあるパターンはMVC –Model-View-Controllerです。まだウェブがなくソフトウエアアーキテクチャも分厚いクライアントが単一のデータベースに原始的なネットワークでアクセスするのがせいぜい、という時代にMVCは生まれました。そして数十年後、MVCはまだ現役であり、衰え知らずでオムニチャネルアプリケーションの開発に使われています。 Angular2のリリースの前にM

    私がMVCフレームワークをもはや使わない理由
  • ゲームエンジンとMVC

    2. 自己紹介 ● 松田理孝(マツダヨシタカ) ● エンジニア ○ サーバやったりクライアントやったり ■ サポートやったりWebAPIやってたり ● いろいろやってます ● 使ったことあるゲームエンジン ○ Unity ○ Cocos2d-x ○ XNA(MonoGame) ○ Flash(ゲームエンジン?)

    ゲームエンジンとMVC
  • MVI (Model-View-Intent) と MVC との違い - Qiita

    Cycle.js の MODEL-VIEW-INTENT のチュートリアルから MVI (Model-View-Intent) と MVC (Model-View-Controller) に関する説明を抜粋して翻訳しました。原文のライセンスは MIT です。 「Passive/Reactive プログラミングの違いを学ぶ」 をあらかじめ読んでおくと理解が深まるでしょう。筆者の André Staltz さんは Flux、Redux などのアーキテクチャの比較や評価を UNIDIRECTIONAL USER INTERFACE ARCHITECTURES と NOTHING NEW IN REACT AND FLUX EXCEPT ONE THING の記事で述べています。 MVI (Model-View-Intent) について MVI は Cycle.js の main() 関数を3つの

    MVI (Model-View-Intent) と MVC との違い - Qiita
  • MVPアーキテクチャを使いたいという話をチームにした。 - パルカワ2

    最近Androidアプリを開発していて、チームメンバーみんなでテストを書いたりしているわけなのですが、いかんせんUIテストを書くことになりがちで自分も含めみんなが疲弊しているなぁと感じていました。 せっかくみんながテストを書こうとしていて、非常に良い状態なのにこのままだとテストを書くことが疲れること(=やりたくないこと)になると思えたので、色々考えた結果、チームメンバーにMVPアーキテクチャを使いたすぎる!とプレゼンをしたので、資料を公開します。 チーム向けに話したので、補足です。 全てのアプリで、MVPアーキテクチャを必ず使うべきという話ではない Roboletric 3.xは、Activityを起動出来たりするわけですが、今のプロジェクトではだいぶ頑張らないとそれが動かないので、その機能は使っていません hisaichi5518/minne-android は、僕が勝手にMVPアーキテ

    MVPアーキテクチャを使いたいという話をチームにした。 - パルカワ2
  • 素のJavaScript(TypeScript)でMVCモデルのToDoアプリをつくってみた

    photo by Sébastien Barré AngularJSやBackbone、KnockoutJSといったMV*フレームワークや、ReactといったVに特化したフレームワーク、jQueryといったライブラリがいっぱいある。 AngularJSを勉強し始めたは良いが、2.0になると全く別モノになってしまうなど、どれを勉強すればよいかわからなくなってしまった。 ということで、まずはフレームワークやライブラリを使わない「素のJavaScript」でMVCモデルを勉強してみようと思った。 つくったToDoアプリの概要は、前回の「TypeScript + AngularJSでToDoアプリをつくってみた」と同じだ。 ※ 以降TypeScriptで記載しているが、JavaScriptのソースが見たい方はGitHubにコンパイル後のソースを置いてあるので、そちらを参照ください。 Model層

    素のJavaScript(TypeScript)でMVCモデルのToDoアプリをつくってみた