タグ

mvvmに関するairj12のブックマーク (19)

  • 今最も注目されている設計手法!MVVM を Android アプリ開発に取り入れてみた

    こんにちは。共同開発部開発担当の北川です。 クロスプラットフォームなアプリ開発では Xamarin の使用はビジネスロジックの共通化が可能となり非常に効果的です。 すべてのアプリを単一の言語(C#)で実装することができる点だけでも魅力的ですが、MVVM 設計によりその再利用性を高めている点こそがその真価を発揮しているとも言えます。 私は Xamarin でのアプリ開発を通して MVVM 設計のすばらしさを経験してしまいました。もう後には戻れません。 Java や Objective-C でのアプリ開発でも MVVM 設計は開発スピードと品質確保を両立するために有効であるはずです。 今回は Android アプリ開発(Java)で MVVM を使うとどうなるか、紹介してみたいと思います。 MVVM 設計について MVVM 設計ではビジネスロジックを Model が担当し、ViewModel

    今最も注目されている設計手法!MVVM を Android アプリ開発に取り入れてみた
  • mizchi / すべてのMVCを過去にする - Glide

    Please note that Glide no longer supports Internet Explorer versions 7 or 8.

  • WPF MVVM Infrastructure Livet

    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.

  • Livet 1.0.4 Released ! - the sea of fertility

    念願のWPF4 MVVM Infrastructure Livet 1.0系をリリースしました。現行バージョン1.04。1.0.0はごくひそかにリリースし、1.0.3まではフィードバックを集めつつ特にここでの告知なしでやってきました。 このバージョンからはLivetは後方互換性を意識したバージョンアップをする事になります。以後Livet1.x系の間にパブリックインターフェースの削除はありません。パブリックAPIの追加はありますが、削除の代わりに既存のAPIにはObsolete属性を使用して非推奨とする事にします。 自信を持っておすすめできるリリースです。 主要機能はLivet紹介ページに記載してあります。なおNugetにも対応いたしました。(ただLivetの威力はプロジェクトテンプレートによるものが大きいため、極力VSGaralley/msiからのインストールをおすすめします)。ReSha

    airj12
    airj12 2012/07/29
    キタ――(゚∀゚)――!!
  • 「MVVMパターンで学ぶGUIアーキテクチャパターン」– .NETラボ勉強会で話してきました! - the sea of fertility

    お話してきました。 6/23 .NETラボ勉強会 http://www.dotnetlab.net/dnn/Events/NETラボ勉強会2012年06月/tabid/116/Default.aspx 今回の件で大体わかったんですが、DomainModel/TransactionScriptの所まで70分ぐらいで話を進めるのは無理ですね。 今回のセッションの内容のあたりの理解を前提に踏まえたセッションをどこかでやりたいっす。 3/10よりはうまくなったかなぁって気がします。 Twitterでサンプルコードから概念を学ぶ事についてうっさかったのでそこら辺はしっかり書いています。

    airj12
    airj12 2012/06/24
    盛り沢山なスライドだなー
  • MVVMパターンで学ぶGUIアーキテクチャパターン

    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.

  • MVVMパターンでViewModelからViewを操作したい - the sea of fertility

    僕の結論。そんなの必要ない。 鍵を握るのはBlend付属アセンブリSystem.Windows.Interactivity.dllです。 ViewModelからViewを操作したい時のシナリオ パッと思いつくのは以下の3つでしょうか。 コマンドの実行前・実行後にアニメーションを実行する。アニメーションが終了してからコマンドを実行したい場合など。 ダイアログの表示。確認ダイアログ・ファイルを開くダイアログ等いろいろありますよね。 画面遷移。言わずもがな。 この3つ、Blend付属アセンブリSystem.Windows.Interactivityを使う事でビヘイビア(正確にはTriggerAction)の実装のみで可能です。コードビハインドも、Viewにインターフェースも、Messengerパターンも、ReverseCommandも必要ありません。 使用例 今回の例示で使用した全てのソース

    airj12
    airj12 2012/01/26
    サンプルが分り易い(今更だけど)
  • 「WPF/Silverlight/WindowsPhoneから WinRT まで見据えたリッチクライアント Model 設計」- RIA アーキテクチャ研究会 第2回セミナーで話してきました! - the sea of fertility

    RIA アーキテクチャ研究会 第2回セミナー話してきました。 RIA アーキテクチャ研究会 第2回セミナー http://atnd.org/events/21774 スライドはデモプロジェクトのソリューションと併せてご覧ください。 今回のテーマはModelオンリー。そして僕にしては珍しくでもデモプロジェクト中心です。スライドはデモプロジェクトと合わせてご覧ください。 個人的な事情で全ソースコード・全スライドは計26時間で作ったものなので、ソースにバグ残っていますし、汚いです。ただ今回限りのソースではなく今後リファクタを重ねて議論の土台にしていこうと思っているものなのでソースはbitbucketに公開しました。 デモプロジェクト デモプロジェクトリポジトリ https://bitbucket.org/ugaya40/twittersample スライド中で説明していますが、WPF4/Sil

    airj12
    airj12 2011/12/12
    UIを同期的にする限りではModel内で非同期処理を完結してしまうのが確かに楽そう / ありがたくソース見ます
  • 「MVVMパターンが必要な理由」啓蒙用資料公開 - the sea of fertility

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

  • WPF – コマンドのCanExecute強制自動再評価について - the sea of fertility

    ちょうど今Livet開発メーリングリストで懸案になっている機能に、WPFがCommandのCanExecuteを強制的に自動再評価する既定の動きを、一切強制再評価なし(None)・WPF既定(Default)・WPF既定(Full)に加えてViewModelのプロパティの変化で強制再評価 の3つのモードに設定できるようにする機能があります。 この機能の是非について、正直ものすごく悩んでいますし、MLメンバの方にも反対意見も頂いております。広くご意見いただけると幸いです。 概要 WPF既定の動作の何が気に入らなかったかといえば、 Windowのアクティブ化・非アクティブ化 マウスクリック キーボード押下 キーボードフォーカスのGot/Lost が、アプリ内のどれかのコントロールやWindow自体に発生した場合に、Viewに存在するすべてのコマンドソースコントロール(ButtonやMenuIt

    airj12
    airj12 2011/07/25
    本来的にはコマンドと入力データの紐付けを管理した上で「入力データに変化があったら再評価」なんだろうけど、複雑すぎる気もする。「強制再評価+重い評価処理は結果をキャッシュしとく」くらいが妥当かな…
  • MVVM:コードビハインドに記述しても良いと思う:Gushwell's Dev Notes

    Messengerを理解するために自作してみた(1)-(3) Messenger+Behaviorを理解するために自作してみた(1)-(3) でとりあえず、コードビハインドにコードを記述せずに、ViewModelからViewを操作する 方法については理解したつもりだけれど、 それでも、今の僕の経験と知識では、コードビハインドに次のようなコードを書いても、 良いんじゃないかなーと思ってます。 private void button1_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("実行しますか", "確認", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { vieewModel.Execute(); } } こう主張すると、 「コードビハインドにView以外のロ

    airj12
    airj12 2011/06/01
    Blend無し&(Prismみたいな)Framework無しだとこういう結論になると思う
  • 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の基的な考え方・実装方法などを把握されて

    airj12
    airj12 2011/05/23
    読み応えがありすぎるw
  • Livet - the sea of fertility

    Livet WPF4 MVVM インフラストラクチャ ProjectHome : http://ugaya40.net/livet SourceCode : https://bitbucket.org/ugaya40/livet/ Livetの概要と導入方法 LivetはWPF4のためのMVVM(Model/View/ViewModel)パターン用インフラストラクチャです。.NET Framework 4 Client Profile以上で動作し、zlib/libpngライセンスで提供しています。zlib/libpngライセンスでは、ライブラリとしての利用に留めるのであれば再配布時にも著作権表示などの義務はありません。しかし、ソースコードを改変しての再配布にはその旨の明示が義務付けられます。 Livetの目指すところ 現在、WPFでMVVMパターンによる実装を行うにはインフラストラクチャの

    airj12
    airj12 2011/05/20
    味見する
  • 東京マラソンの日に外に一歩も出ないオレ - wave1008の日記(主にSilverlight)

    先日MVVMをDISったが、説明不足気味でDISりっぱなしでは無責任かと、ちと反省している。 SilverlightでMVVMを使うのは問題があるので昔ながらのWindows Formsスタイルの開発に戻るべきだと受け取られたとしたら、それは誤解である。Silverlight(あるいはWPF)ではもはやWindows Formsスタイルの開発はできないし、そうすべきではないからだ。なので、今日はフォロー記事を書いてみる。 Silverlightの各コントロール群はMVVMの特徴であるデータバインドを前提に設計されている。なので、従来のWindows Formsスタイルの開発はできなくなっている部分が多々ある。 たとえばDataGridWindows FormsのDataGridViewならばセルの何行何列をインデックス指定すればセルのオブジェクトを取得でき、さらに背景色やフォント色などの

    airj12
    airj12 2011/05/13
    WPFに触れ始めたばかりだけど、今この心境
  • Livet – WPF4 MVVM インフラストラクチャ - the sea of fertility

    LivetはWPF4のためのMVVM(Model/View/ViewModel)パターン用インフラストラクチャです。.NET Framework 4 Client Profile以上で動作し、zlib/libpngライセンスで提供しています。zlib/libpngライセンスでは、ライブラリとしての利用に留めるのであれば再配布時にも著作権表示などの義務はありません。しかし、ソースコードを改変しての再配布にはその旨の明示が義務付けられます。 ダウンロードはこちらからになります。配布ファイルはVSI(Visual Studio Content Installer)形式を使用しています。Livetアセンブリ・デザイナ(Visual Studio 2010/Expression Blend 4)サポートアセンブリを内包するプロジェクトテンプレートと、コマンド・プロパティ用のコードスニペットがインスト

    airj12
    airj12 2011/05/13
    仕事で使っちまおうか…
  • MVVM:Messengerを理解するために自作してみた(1):Gushwell's Dev Notes

    MVVMを勉強していたら、Messengerというものが出てきました。 これって何だろうか。 .NET Frameworkのクラスじゃなくて、MVVM Light Toolなどのフレームワークで 用意されているもので、ViewModelからViewを操作する時に利用するもののようです。 要は、ViewModelとViewの仲を取り持つ仲介者クラスです。 と、ここまでは分かりましたが、それ以上のこと(特にどういう仕組みなのか)が良くわかりません。 そこで、理解を深めるために、MVVM Light Toolの外部インターフェイスを参考に Messengerクラスをちょっと自作してみました。 とはいっても、ものすごい手抜きなので、これを実際に使うわけにはいかないと思うし、 MVVM Light Toolのソースコードは一切みていないので、僕の理解が間違っている可能性は ありますが、まあ、Mess

  • M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね - かずきのBlog@hatena

    M-V-VMで書いてると、ViewはViewModelのプロパティにバインドして、ViewModelのプロパティの内容を表示するのが主になります。 View上でのボタンクリックとかもViewModelが提供するCommand型のプロパティとバインドして、完全にViewModelに処理をお任せするのが一般的だと思います。 そうなってくると、ちょっと不便なこととして、ボタンクリックの結果をViewで表示したいとか、コマンド実行前に確認画面を出したいということをしようとすると、どうしようか悩んでしまいます。 ViewModelでMessageBoxを出すコードを書くと、せっかくViewModelとViewを分離しているありがたみがなくなってしまうし、ユニットテストしにくくなってしまいます。一番素直なのは、Viewでボタンのクリックイベントを処理して、確認画面を出した後にViewModelのインス

    M-V-VMパターンでViewModelのコマンド実行後に何か処理したいよね - かずきのBlog@hatena
  • WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コードは MSDN コード ギャラリーからダウンロードできます。 オンラインでのコードの参照 目次 秩序と混乱 Model-View-ViewModel の進化 WPF 開発者に MVVM が好まれる理由 デモ アプリケーション 中継コマンド ロジック ViewModel クラス階層 ViewModelBase クラス CommandViewModel クラス MainWindowViewModel クラス ViewModel に View を適用する データ モデルとリポジトリ 新しい顧客のデータ入力フォーム All Customers ビュー まとめ 専門的なソフトウェア アプリケーションのユーザー イン

    WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン
    airj12
    airj12 2011/04/18
    本家
  • WPFアプリケーションに最適なアーキテクチャ「M-V-VM」とは | グレープシティ株式会社

    帳票・レポート 日仕様の帳票開発に必要な機能を搭載したコンポーネント ActiveReports for .NET ActiveReportsJS 表計算・グリッド Excel風のビューと表計算機能を実現するUIコンポーネント SPREAD for Windows Forms SPREAD for ASP.NET SPREAD for WPF SpreadJS 入力支援 快適な入力を実現する日仕様入力コンポーネントセット InputManPlus for Windows Forms InputManPlus for ASP.NET InputManPlus for WPF InputManJS 多段明細 1レコード複数行&日付表示に 最適なグリッドコンポーネント MultiRowPlus for Windows Forms 戻る コンポーネントセット Visual Studioで利用す

    WPFアプリケーションに最適なアーキテクチャ「M-V-VM」とは | グレープシティ株式会社
    airj12
    airj12 2011/04/18
    セッション資料PDFが異常に分かり易い
  • 1