タグ

MVVMに関するcpp_0302のブックマーク (15)

  • Livetによる画面遷移と選択要素受け渡しのサンプル - 周回遅れのブルース

    MVVMパターンでよく問題となるのが、画面遷移 の問題です。 単一画面であれば、View と ViewModel をバインド機構を使って疎結合にできるため、なんら問題は生じませんが、画面遷移を行う場合、ViewModel から Window を起動すると View - ViewModel 間で密結合が発生します。 また View のコードビハインドで画面を起動すると、実装が複雑化するのに加え、View に依存する分 MVVM の利点であるテスト容易性が失われます。疎結合を維持しテスト容易性を保持したまま、画面遷移を行う方法はあるのでしょうか?そこで便利なのが MVVM インフラである Livet のメッセンジャー機能です。 これは Livet 特有の機能でして、ViewModel から View に対し各種メッセージを送信でき、またどのビューを対象とするか指定する必要もなく、疎結合を保持し

    Livetによる画面遷移と選択要素受け渡しのサンプル - 周回遅れのブルース
  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(3/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? 尾上 雅則 2011/05/18 ■ViewModel 一般的にViewModelは、C#などの汎用プログラミング言語で記述され、プレゼンテーション・ロジックとステート(=状態)を持ちます。ドメイン・エンティティをViewに表示できるように整形したり、ドメイン・ロジックが公開するメソッドを操作として公開したりする責務を持ちます。 Modelの公開するステートをいちいちラップしてViewに公開するのもViewModelの役目です。 また、Viewへアクションの指示を行うためのメッセージ・イベントを発行します(詳しくは後述するMessengerで説明)。 ViewModelは、Viewへの参照を持ったり、Viewの特定の実装を意識したりしません。しかしViewModelはまったくViewを意識しな

  • http://glide.so/mizchi/9635965

    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

    http://glide.so/mizchi/9635965
  • 2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita

    はじめに もうすっかり年末なので、これから2015年にかけてアプリケーションアーキテクチャがどのようになっていくのかという個人的な考え/妄想や背景について、「リアクティブ」というキーワードをもとににまとめてみたいと思います。 Google Trendsを見ると"reactive programming"という言葉は2010年前後から、ゆっくりとバズをし始め、現在も上昇を続けています。 また、仕事としては、2010年ごろから大規模なWebサービス開発において、フロントエンド、バックエンド、アルゴリズム改善といった様々な箇所で、リアクティブプログラミングの要素を取り入れながら、アーキテクチャの改善を進めてきました。そのため、こういったアーキテクチャがコード品質の維持や安定性の向上、実際的で複雑な問題の解決にも適応可能であるということを実感として持っています。 近年、そういった要素が様々なツール

    2015年に備えて知っておきたいリアクティブアーキテクチャの潮流 - Qiita
    cpp_0302
    cpp_0302 2015/04/17
    Rxの説明が瀬戸的に超わかりやすい
  • 完敗だぜ!Knockoutでノックアウト - 導入編 | 株式会社ヌーラボ(Nulab inc.)

    みなさんこんにちは。江口です。 前回のエントリで予告したとおり、今回は MVVM パターンを利用して動的な UI を作成することのできる JavaScript ライブラリ「Knockout」について紹介します。 Knockout とは Knockout は主な特徴として 宣言的バインディング 自動 UI 更新 依存性追跡 テンプレート という4つのコンセプトを謳った JavaScript のライブラリです。このコンセプトの中で特に重要となるのは「宣言的バインディング」と「自動 UI 更新」になります。 この機能を利用することで、下の例のように UI 上の更新したい要素を id や class 属性の指定などを指定して探しだしてから変更するようなコードは必要なくなります。Knockout を使うと ViewModel 内の変数を単純に書き換えるだけで、その変数と結びついた要素が自動的に変更さ

    完敗だぜ!Knockoutでノックアウト - 導入編 | 株式会社ヌーラボ(Nulab inc.)
    cpp_0302
    cpp_0302 2015/04/08
    ViewModelとModelの分離の話までしている
  • Ray Wenderlich | Tutorials for iPhone / iOS Developers and Gamers

  • [Knockout]MVVMパターンでアプリケーションを構築する

    コーナーは、技術評論社発行の書籍『JavaScriptライブラリ実践活用[厳選111]』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。 『JavaScriptライブラリ実践活用[厳選111]』の詳細や購入は技術評論社のサイトや目次ページをご覧ください。 KnockoutはModel-View-ViewModel(MVVM)パターンをサポートするライブラリです。Knockoutではデータバインドを用いて、宣言的にView(HTML)とViewModelを関連付けます。そうすると、Viewを変更すればViewModelが、ViewModelを変更すればViewがというように、一方の変更がもう一方に自動的に反映されるようになります。また、Viewのボタンクリックなどのアクションについても、データバインドを使ってViewM

  • MVVMのModelにまつわる誤解 - the sea of fertility

    こちらに移転してきて初めての記事です。 最近たまに話題になるので書いておきます。MVVMのModelについて誤解されやすい部分のお話です。最近よく議論してるasync/awaitの話とは関係がありません。なおこの話は以下のスライドを理解している事が前提となります。 共有したい理解(ゴール) ViewModelはModelの影 ModelについてViewModelが行うことは、イベントに対する反応と戻り値のないメソッドの呼び出ししかない事 これについての理解を共有できるよう説明していきます。 VIewModelはModelの影 スライドにもしつこく書きましたが、MV○(MVVMやMVC/MVP)のModelは大変分厚くなるし、アプリケーション間で使いまわすことなんてできません。ModelはUIを意識しない??いや、何度も言っていますが、意識はする必要があるんです。ただUI実装の知識が必要ない

    MVVMのModelにまつわる誤解 - the sea of fertility
  • GUIアーキテクチャパターンの基礎からMVVMパターンへ

    Please select the category that most closely reflects your concern about the presentation, so that we can review it and determine whether it violates our Terms of Use or isn't appropriate for all viewers.

  • ReactiveCocoaでiOSでもMVVM | CAPH TECH : iOS

    ※ この記事はNSEG 第50回勉強会での発表を元に作成しました。 MVVMとはModel-View-ViewModelの略でMVCの派生パターンです。ViewModelがModelとViewの間に介在し、ドメインロジックとプレゼンテーションロジックを分離する役割を担います。ViewModelとViewは自動的にデータをやり取りし、Viewはより抽象化されるという特徴があるとされます。MicrosoftのWPFやSilverlight発祥です。FuelPHPでもMVVMが導入されています。 iOSではReactiveCocoaを利用してMVVMパターンを利用することができます。 例として四則演算アプリを作ります。 ソースコードはGitHubのrizumita/FourOperationsに置いてあります。ブランチはmasterとsave_expressionが存在します。動かしてみる場合は

    ReactiveCocoaでiOSでもMVVM | CAPH TECH : iOS
  • Xamarin+MvvmCrossでアプリ開発をはじめる準備 2014年3月版 - Qiita

    XamarinでMvvmCrossを使ったアプリの開発をはじめるにあたって、PCLサポートが公式でない上にNuGetアドインが不安定だった時期にプロジェクトを直接編集して無理矢理導入するというパターンが多かったと思います。 しかし、ここ数ヶ月でXamarinでのPCLサポートやNuGetアドインのサポートが改善したことにより、これまでよりも簡単かつ直感的に初期設定ができるようになっています。 稿では2014年3月時点で、MacXamarin StudioでMvvmCrossを使ったiOS/Androidクロスプラットフォーム開発環境をセットアップする方法をご紹介します。 NuGetのセットアップ まず、Xamarin StudioからNuGetを使用できるようにします。 Xamarin Studioを起動し、[Xamarin Studio]メニューから[アドインマネージャー]を選択しま

    Xamarin+MvvmCrossでアプリ開発をはじめる準備 2014年3月版 - Qiita
  • Architecting Cross-Platform Apps with MvvmCross, Stuart Lodge

    Architecting Cross-Platform Apps with MvvmCross, Stuart Lodge

    Architecting Cross-Platform Apps with MvvmCross, Stuart Lodge
  • マルチプラットフォーム MVVMフレームワーク「MvvmCross」を使う - Qiita

    Xamarin Advent Calendar 2013 も最終日となりました。 最後は、「実用的な」マルチプラットフォーム開発のツールを紹介します。 MvvmCross ってやつを紹介したいのですが、まずは事前知識からさらりと。 MVVM パターンについて MVVM は、 Model-View-ViewModel の頭文字を取ったものです。 MVC パターンの派生で、Microsoft が WPF/Silverlight のために作ったそうですが、今では JavaScript の Knockout.js などでも利用されています。 (via Model View ViewModel - WikiPedia CC-BY 3.0) Model - MVC の Model と一緒。ビジネスロジックはここに。 View - WPF なら .xaml、iOS なら .storyboard、Andr

    マルチプラットフォーム MVVMフレームワーク「MvvmCross」を使う - Qiita
  • 「MVVMパターンが必要な理由」啓蒙用資料公開 - the sea of fertility

    MVVMパターン的な実装は、他のプラットフォームでは選択肢の一つにすぎませんが、WPF/Silverlight(Windows Phone 7 含む)においては唯一の選択肢です。コードビハインドを書かないことはMVVMパターンそのものの定義とは関係ありません。まずはスキルにあったレベルでMVVMパターンを意識した実装を初めてみませんか? 以前の勉強会発表資料(わんくま勉強会での発表資料の半分以上をカットし、Androidテスト祭り分追加)を加工し、社内勉強会、そのほかの勉強会・ブログなどで自由に使える資料として公開します。私の個人名は抜いてあります。 無許可の改変・引用なども問題ありません。ただ、資料の直接の商用利用などはご遠慮ください。 ブログに張り付けたい場合、下のbマークから埋め込み用URLを取得できます。 「コードビハインドを書くのはMVVMパターンではない」などの誤解が、MVVM

  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(1/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? ―― 「the sea of fertility」より ―― 尾上 雅則 2011/05/18 「.NET開発者中心 厳選ブログ記事」シリーズでは、世界中にある膨大なブログ・コンテンツの中から、特にInsider.NET/.NET開発者中心の読者に有用だと考えられるブログ記事を編集部が発掘・厳選し、そのブログ記事を執筆したブロガーの許可の下、その全文を転載・翻訳しています。この活動により、.NET開発者のブログ文化の価値と質を高め、より一層の盛り上げに貢献することを目指しています。 MVVM(Model-View-ViewModel)パターンに関する知見があちこちに散らばっているように見えるので、そろそろまとめてみることにしました。この記事は、MVVMの基的な考え方・実装方法などを把握されて

  • 1