タグ

MVCに関するrin51のブックマーク (25)

  • クリーンアーキテクチャーでスマホアプリ開発した感想(勉強会用) - Qiita

    はじめに 昨年からの大きな案件でClean Architectureを使った Platforms: Android/iOS Languages: Kotlin/Swift はじめに 勉強会向け資料なので、クリーンアーキテクチャー自体の解説もある程度含まれます。 逆に、時間の都合上、歴史背景や細かい部分までは行き届いていません。 もし間違いがあればご指摘ください。 オススメ書籍 アーキテクチャーを選定する目的 求められるシステムを構築・保守するために必要な人材を最小限に抑えるため 「アーキテクチャーは上位レベル、設計は下位レベル」のように区別されることがあるが、両者の間に明確な境界はなく、上位から下位に至るまで、決定の連続である スマホアプリ開発で代表的なアーキテクチャー AndroidはMVVM(Googleが推奨) iOSはMVC(AppleCocoa applicationに採用)

    クリーンアーキテクチャーでスマホアプリ開発した感想(勉強会用) - Qiita
  • iOSをMVC,MVP,MVVM,Clean Architectureで実装してみた – ロクネム – Medium

    何番煎じだよって感じですが、アーキテクチャに対する考え方は割と正解がなくて、自分の中に一つ落とし込んでおいて損はないと感じたため、備忘録という形で記事にさせていただきます。 アーキテクチャとは?一言でいうと、 アプリケーションを綺麗に実装するための設計方法! アーキテクチャを考慮しない設計でコードを書いていると以下のような課題にぶち当たります。 一つのクラスの肥大化(iOSで言うところのFatViewController)ロジックが煩雑になる同じ処理を使い回せないチーム開発で役割分担しにくいテストがしにくい属人化が進み、引き継ぎが難しくなる機能の追加,修正が困難etc…正直まだまだあるとは思いますが、とにかく設計はこだわってないと後で地獄を見るということさえ伝わればOKです。 Sample Appアーキテクチャを語る上で叩き台にするアプリがいるなーと思ったので作りました。 閲覧するときは、

    iOSをMVC,MVP,MVVM,Clean Architectureで実装してみた – ロクネム – Medium
  • ソフトウェアアーキテクチャの歴史 - tasuwo's notes

    改めて ソフトウェアアーキテクチャ GUI のアーキテクチャの歴史を調べてみたくなった。来の MVC とは何か?何が正しくて何が間違っているか?も重要なのだが、それよりは、なぜそれが生まれたのか?何を解決しようとしたのか?どのような問題点が生まれて、それをどう工夫して解決・発展してきたのか?を知りたい。しかし、そういうことがまとまっている日語の情報が少ないので、自分で色々かいつまんでメモしておく。 MVC の原点は 70 年代にまで遡り、実装としては Smalltalk-80 のクラスライブラリとして実装されたのが最初だと思われる。しかし、後世に大きな影響を及ぼしたポイントをいくつか持ちつつも、当時のアーキテクチャが現代においてそのまま利用されているケースはほぼないといっていい。したがって、単に MVC といった時には大抵最初期の MVC を指すことは少なく、区別するために最初期の M

    ソフトウェアアーキテクチャの歴史 - tasuwo's notes
  • MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」

    2014/11/8 Developers.IO by Classmethod.Inc 発表資料 Androidアプリケーション開発で読みやすく、変更に強く、テストしやすいコードを書くためにはどうしたらいいか? MVPパターンを用いた設計アプローチと実装例の解説。

    MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
    rin51
    rin51 2017/02/24
  • 頂いたコメントを参考に、MVC(モドキ)を書き直しました。See https://gist.github.com/4276401

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    頂いたコメントを参考に、MVC(モドキ)を書き直しました。See https://gist.github.com/4276401
  • IOS/Androidアプリの3つの大事な設計方針

    Ken MorishitaData Scientist, Machine Learning Engineer, Software Developer

    IOS/Androidアプリの3つの大事な設計方針
    rin51
    rin51 2014/04/02
    iOS/Androidアプリに限らず
  • mixiのアプリの設計がよく分かるブログ - スマートフォン開発研修教材の補足 - mixi Engineers' Blog

    こんにちは。Android の横幕です。Android が好きすぎて、来る日も来る日もアプリの実装が頭から離れず、毎日7〜8時間ほど睡眠をとっていますが全く疲れがとれた気がしない今日このごろです。はやく iOS のアプリ開発を覚えたいですが、まだ NSLog の使い方を覚えたばかりです。 さて、先日スマートフォン開発研修教材の公開についてでも触れましたが、Android・iOS のアプリ開発を始める人向けのトレーニング資料を公開しましたところ、以下のブログのような反響をいただきましたので、この場でもって回答をさせていただきたいと思います。 mixiのアプリの設計がよくわからない http://yamitzky.hatenablog.com/entry/2013/06/19/173713 に遷移します 設計思想の基は MVC iOS も Android も、フレームワークとしては MVC

    mixiのアプリの設計がよく分かるブログ - スマートフォン開発研修教材の補足 - mixi Engineers' Blog
  • 深海からの喚声

    でふ @defplus こないだ @irgaly さんと遊んできたんですよ。ついったーで知り合って遊ぶという初めての体験だったわけですけど、おもろかった。音ゲーなど共通の趣味があったというのもあるけど、プログラムのことについて「直接あって話す」ということができたというのが特に面白かった。 2011-01-06 03:03:03 でふ @defplus 自分でも特に話すわけではなかったけれども、これからゲームを作るときなどにプログラム的にどういうことがおもしろいトピック(関心事)になりそうか、というようなことを自然と語ってしまった。たぶん、なんとなく考えていたけれど、言語化されていなかったものが噴出したというか……。 2011-01-06 03:04:29

    深海からの喚声
  • DCI (Data Context Interaction)

    3月19日(月)に要求開発アライアンスのセッション『Object-Functional Analysis and Design: 次世代モデリングパラダイムへの道標』を行いましたが、説明を端折ったところを中心にスライドの回顧をしています。 今回は「Data Context Interaction (DCI)」として用意した以下のスライドを説明します。 オブジェクト・モデリングの問題点の一つに、ユースケースからドメイン・オブジェクトへ真面目に責務の分散配備をしていくと、ドメイン・オブジェクトの実現が非常に重たくなってしまうという問題があります。 ドメイン・モデルそのものに由来するドメイン・ロジックをドメイン・オブジェクトで実現するのは、来のオブジェクト指向の趣旨にも則っており問題ありません。 論点となるのはユースケース由来のアプリケーション・ロジック。このアプリケーション・ロジックを、(1

    DCI (Data Context Interaction)
  • #yapcasia 2012で「Rubyの国のPerl使い」というタイトルでトークした - Kentaro Kuribayashi's blog

    先日(9/27-29)に開催されたYAPC::ASIA 2012に参加してきました。今年はPerlの会社から離れたこともあって、どうしようかなーネタあるかなーと迷っていましたが、提出したものを採択してもらったので、少しお話ししてきました。 Rubyistの国のPerl使い 最初の心積もりでは、Perl Mongerから見たRubyの世界の理不尽なところや、Perl(やコミュニティ)にも取り入れたいいいところなどについて話すつもりでしたが、先日の札幌Ruby会議でmiyagawaさんと話していて「トークの内容かぶるよね」ということになったので、提出していたabstractとは全然違う話をしました。しかしまあ、今回話した内容も、話の中ではいいませんでしたが、自分にとってはRubyコミュニティから得たところがおおいにある知見なので、その意味では、abstractとは異なるもののタイトルからはそう

    #yapcasia 2012で「Rubyの国のPerl使い」というタイトルでトークした - Kentaro Kuribayashi's blog
    rin51
    rin51 2012/10/01
    タイトルと内容が全然違うw
  • Android開発におけるMVC

    まずは一言。 卒研しろ、俺。 ということで、こんなん書いてて良い時期じゃなくなってきましたが、書かないと忘れそうなので今の内に。 今回は、AndroidにおけるMVCアーキテクチャについてのお話です。 実は自分、半年くらい前に大学の授業でMVCについては学んでいたのです。iPhone開発で。 ただ、卒研でAndroidアプリを作り始めたら、どうやってMVCを構成したらいいか分からなくなってしまった。 で、格的にアプリ制作に着手してから3ヶ月、ようやく自分なりにAndroidでMVCを実現する方法が掴めたので、ほぼ自分用の覚書として書き留めておきます。 ※大学生の与太話みたいなもんなので、鵜呑みにはしないでね! MVCとは そもそもMVCって何よ、って話ですが、僕には説明しきれないので、この辺読んでください。 Model View Controller - Wikipedia MVCとは

    Android開発におけるMVC
  • アンドロイドのアプリケーションアーキテクチャを考えてみた

    表示中のページから http://www.android-group.jp/index.php?plugin=attach&refer=%CA%D9%B6%AF%B2%F1%2F%C2%E8%C8%AC%B2%F3&openfile=application にリダイレクトしようとしています。 このページにリダイレクトしないようにする場合は、前のページに戻ってください。

  • MVC is dead, it's time to MOVE on.

    MVC is a phenomenal idea. You have models, which are nice self-contained bits of state, views which are nice self-contained bits of UI, and controllers which are nice self-contained bits of … What? I’m certainly not the first person to notice this, but the problem with MVC as given is that you end up stuffing too much code into your controllers, because you don’t know where else to put it. To fix

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

    rin51
    rin51 2012/07/05
  • 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
    rin51
    rin51 2012/07/05
  • サバクラ両方で動く JavaScript の大規模開発を行うために

    サバクラ両方で動く JavaScript の大規模開発を行うために 原文:Scaling Isomorphic Javascript Code (This is just for study, please contact me at tily05 atmark gmail.com if any problem.) 考えてみれば Model-View-Controller とか MVC ってよく聞くよね。実際どんなものか知ってる? 抽象的に言うなら「オブジェクト情報の保持されるグラフィック・システム (つまり、ラスターではないグラフィック。ゲームとか) 上に構築された、表示系を中心としたアプリケーションにおいて、主要な機能どうしの関わりをうまく分離すること」とでも言おうか。もう少し深く考えを押し進めてみれば、これは当然、他のさまざまなアプリケーションにもあてはまる言葉 (bucket te

    サバクラ両方で動く JavaScript の大規模開発を行うために
  • Web Applicationを綺麗に設計するためのMVACという考え方 - $shibayu36->blog;

    【2016/03/04追記】以前まとめたこのMVACという名前の設計は既に古くなっており、今はこのようなアーキテクチャで設計していません。 こんにちは。最近ははてなでMVACというアーキテクチャに則って開発をしているのですが、ようやく意味を理解できてきました。そこで今回は「Web Applicationを綺麗に設計するためのMVACという考え方」について、サンプルを交えながら説明していこうと思います。かなり長くなってしまったので、時間があるときにでもどうぞ。 MVACって? データソースやロジックを扱う「Model」、表示・出力を管理する「View」、複数のModelとControllerをつなぐApplication、ユーザのリクエストなどを受け取りViewやApplicationを制御する「Controller」の4つの要素を組み合わせてシステムを実装する方式。MVCをさらに抽象化した

    rin51
    rin51 2011/03/05
  • matarillo.com: UIパターン

    UIパターン 追記 この記事の一部を加筆・修正したものを「開発者が知っておくべき、6つのUIアーキテクチャ・パターン」として@ITに転載しています。 MVVMを追加した上で、アプリケーションモデルとMVVMをプレゼンテーションモデルのバリエーションとして位置づけました。 MVPの2つのスタイルとして、監視コントローラとパッシブ・ビューを説明しました。 まえがき Martin Fowlerの"GUI Architectures"を訳したので公開しようと思ったのだが、FAQページに「EAA developmentとかDSLなんかは商業出版するんで例外ってことで」と書いてある。面倒だったので翻訳の公開はやめて、「自分の理解を書く」というスタイルにしようと思う。 Fowler氏が説明しているのは 「フォームとコントロール」、「モデルビューコントローラー (MVC)」、「プレゼンテーションモデル」、

  • [tech]GUI-MVCとWeb-MVCの違い - yojikのlog

    一部でMVC議論が流行っていたので、自分のためにSmalltalk由来のMVC(以下、一般化してGUI-MVCと呼びます)はWeb-MVCとどう違うか? という点についてまとめて見ました。突っ込みは歓迎。 あと稿ではドメインモデル貧血症批判とかは全く盛り込まない。それは少し違うレイヤーの話なんです。 0. VCは大抵の場合、緊密に結びついたペアである GUI-MVCではView-Controller(以下VCペア)は不可分のペアだとされています。情報の入力(および制御)と出力ですから、お互い強く依存するのはあたりまえですね。MicrosoftのMFCとかJavaのSwingではVCはひとつのコンポーネントとして扱っています(Document-Viewパターンとも呼ばれます) ただ、この点についてはWeb-MVCでもそんなに変わらないかも。 1. GUI-MVCのView-Controll

    [tech]GUI-MVCとWeb-MVCの違い - yojikのlog
    rin51
    rin51 2009/10/22
  • 「RESTful MVC」なアーキテクチャの話

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

    「RESTful MVC」なアーキテクチャの話
    rin51
    rin51 2009/10/17