タグ

2012年3月11日のブックマーク (22件)

  • VisualStudio のエディタを Vim 化する無料のプラグイン『VsVim』 - present

    以前 Visual Studio(以下 VS) のエディタを Vim 化する有償プラグイン『ViEmu』を紹介したけど、オープンソースの同じようなプラグインの存在を今日知った。 VsVim extension VS2010 で利用可能な拡張機能。インストールすると VS2010 のエディタが Vim 化される。 モードの切り替えもできるし、hjkl でカーソル移動もできる。キーバインドは Vim とだいたい同じ。Vim に慣れて、VS でもついつい Vim のキーバインドで操作しようとしてしまう自分としては、「自作しようかな」とまで考えたほど欲しかったプラグイン。 動作が多少重いけど、まぁ許容できる範囲。まだ Vim の基操作しかできないけど、VS のインテリセンスが組み合わされば十分便利だ。なにより、無料でオープンソースなのがうれしい。 自分にとって、CodeRush や ReShap

    VisualStudio のエディタを Vim 化する無料のプラグイン『VsVim』 - present
  • MVVMパターンの常識 ― 「M」「V」「VM」の役割とは?(5/5) - @IT

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? 尾上 雅則 2011/05/18 ■デザイナーと開発者の分業 「ViewとViewModelが、データ・バインドのみですべての対話を実現する」ということは、何をもたらすのでしょうか。 それはつまり、「ViewModelの仕様が決まっていれば、ViewとViewModelの分担開発が可能だ」ということです。逆にいえばそれは、ViewとViewModelの対話方法をデータ・バインドのみとしたMVVMパターンだからこそ可能なことです。 MVVMパターンでは、Viewに表示する情報はプロパティとしてViewModelが公開しますし、「Viewでダイアログを表示させたい」だとか、「Viewを画面遷移させたい」だとかいう揮発性のアクションを実現したい場合にはMessengerを使用します。ViewとVie

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

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? 尾上 雅則 2011/05/18 ■Model Modelは、C#などの汎用プログラミング言語で記述され、ドメイン・ロジックとデータ、つまりはビジネス・ロジックとビジネス・ドメインのステートを持ちます。 ●Modelについてよくある誤解 ― ステートレス、サーバ側がModel、永続化層など Webシステムでよく採用される3層構造におけるデータ・アクセス層やビジネス・ロジック層の常識を、MVVMパターンのModelに持ち込むのはやめましょう。WPF/Silverlightなどのリッチ・クライアント世界のModelは、Webシステムのそれとは決定的に違います。決定的に違うのは、それはステートフルであることです。 多くのWebシステムのビジネス・ロジック層やデータ・アクセス層自体は、基的にステート

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

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

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

    .NET開発者中心 厳選ブログ記事 MVVMパターンの常識 ― 「M」「V」「VM」の役割とは? 尾上 雅則 2011/05/18 ■View XAMLで記述され、UIの外観と構造を定義します。基UIのコードビハインドには、初期のInitializeComponentメソッド以外何も記述されているべきではありません。これについては、『Prism開発ガイド』に以下のような記述があります。 ViewのコードビハインドにはIntializeComponentメソッドを呼び出すコンストラクタだけが含まれているのが理想的です。しかし、複雑に組み合わされたアニメーションや、Viewの一部の要素を直接操作する必要のある場面があった場合のように、視覚的な動作を実装するのに、XAML(Extensible Application Markup Language)で実現するのが難しいか、あるいは非効率な場面

  • 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の基的な考え方・実装方法などを把握されて

  • MVVMパターンでVMからVを操作する Prism編 - かずきのBlog@hatena

    Prismをダウンロードして、MVVMのサンプル実装を見てるとMVVMパターンなのにダイアログ出したりしてたので、どうやってるか見てみたら、便利なクラスが用意されてました。 定義されているアセンブリは Microsoft.Practices.Prism.Interactivity.dll です。 使うのは IInteractionRequestインターフェース InteractionRequestクラス(IInteractionRequestの実装) Notificationクラス(TitleとContentだけを持つシンプルなクラス) Confirmationクラス(Notificationクラスを拡張したもの) InteractionRequestTrigger です。 IInteractionRequestは、Raisedイベントを定義しているだけのシンプルなインターフェースです。I

    MVVMパターンでVMからVを操作する Prism編 - かずきのBlog@hatena
  • PrismのMVVM関連のクラスを使ってHello world - かずきのBlog@hatena

    Prismの最新バージョンからMVVMでの開発をサポートしてくれるようになりました。という話を聞いてPrismをダウンロードしてきてレッツトライ!としようと思うと、Bootstrapperがどうの、EventAggregaterがどうの、Regionがどうの、MEFがどうのUnityがどうのetc...と色々覚えないといけないおまけがついてくる割に、MVVM何処にあるんだ??という状態になってしまいます。 Prismは、使いこなすと便利なのですが、そういう便利クラスは置いておいて、MVVMの基クラスだけ拝借するのでしたら、以下で述べてるクラス群をチョイスして使うだけでOKです。 PrismでMVVM(Model View ViewModel)パターンのサポート用に用意されているクラスのまとめ ということでPrismを使ってMVVMをしようとする人がPrismの樹海に迷い込まないようにPr

    PrismのMVVM関連のクラスを使ってHello world - かずきのBlog@hatena
  • https://blog.okazuki.jp/entry/20101205/1291545730

  • FluidMoveBehaviorを使ってみた - かずきのBlog@hatena

    Expression Blend 4 + WPFアプリケーションで作ってみました。 今まで使いかたがさっぱりわからなかったFluidMoveBehaviorの使い方がわかったので簡単に作ってみました。こいつを使うとStackPanelやWrapPanelなどのコンテナ内での要素の移動がスムーズにアニメーションさせることができます。 こんな動かし方とか、自分には無理だ!!と諦めてたけど、Behaviorいっぱつでできちゃうもんなんですね・・・。改めて凄いと思いました。 因みに、下のBlogの集団行動は、上の動画の矩形が整列する動きを見て発掘されたものです。

    FluidMoveBehaviorを使ってみた - かずきのBlog@hatena
  • 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以外のロ

  • 設計パターンのインフラ – Silverlight5のMVVMパターンサポートへの懸念 - the sea of fertility

    前述の記事の通りSilverlight5にはMVVMパターンサポートとして、イベントハンドラへのXAMLからの直接バインドが可能になるそうです。 こういうコードイメージになるんですかね。(このコードは実際には動作しません) 以前の記事ではあえて書きませんでした(Twitterでは愚痴りまくってました)が、私はこの機能の導入には絶対反対です。何故ならそれはMVVMパターンの思想と反しかねないからです。私は、MVVMパターンがパターン遵守へ誘導的なインフラストラクチャを持ちうるポテンシャルを持っている事を大きなメリットだと思っています。 パターン遵守へ誘導的な設計パターンのインフラストラクチャ MVC系に限らず、多くの設計パターンは習得にドキュメントやサンプルコードを読み込まねばなりません。 ドキュメントやサンプルコードへの理解の差が、コードの品質の差となって現れる事は良くありることです。

  • MVVM勉強会資料 - the sea of fertility

    第60回codeseek勉強会・第2回日C#ユーザー会勉強会 勉強会行ってきました。話してきました。 貫徹だったので頭がぼーっとしてましたが、なんとか喋りました。しかしその後の懇親会ではところどころ記憶が抜け・・。 @neueccさんのお宅で朝まで飲み。大人数で押しかけ申し訳ない。 しかし楽しかったー。 反省点 なによりも、タイムオーバーで尻切れになってしまいました。 話す前は時間意識してたんですが、デモプロジェクトフォントサイズ、マルチディスプレイの操作で苦戦。 操作に戸惑ってタイムオーバーとかないわぁ。。 一応、押しの方法。Prismの方法までは紹介できたので、なんとかといったところ。 必ずどこかでリベンジします。 資料 スライド(Office Web App) ViewModelからViewへのメッセージング手法 サンプルソース(Visual Studio 2010 WPFソリュ

  • MVVMパターンとイベント駆動開発、そしてMVC/MVP/PMパターンとの関係 – 何故MVVMなのか - the sea of fertility

    WPF/Silverlight開発において、イベント駆動開発じゃ何故いけないのか? MVC/MVP/PMパターンとMVVMはどう違うのか、どういったメリットがあるのか? そういう声を聴く機会は少なくありません。 MVVMパターンとイベント駆動開発、MVC/MVP/PMパターンとの関係について僕の理解をまとめました。 MVVMパターンをわざわざ適応する事に疑問がある方にはぜひ読んで欲しいと思っています。 また、このドキュメントを記述するにあたり@matarilloさん、@ufcppさん、@yfakariyaさん、諸先輩方3方に叩き台を見ていただき多くの指摘を頂くことができました。今回は頂いたフィードバックを受けて公開する形になっております。 押しつけがましくも一方的に依頼させていただいて、にも拘わらず非常に丁寧に様々な指摘・示唆を頂くことができました。 この場を借りてお礼申し上げます。ありが

  • patterns & practices: Composite WPF and Silverlight

    すべての Microsoft 製品 Global Microsoft 365 Teams Copilot Windows Surface Xbox セール 法人向け サポート ソフトウェア Windows アプリ AI OneDrive Outlook Skype OneNote Microsoft Teams PC とデバイス Xbox を購入する アクセサリ VR & 複合現実 エンタメ Xbox Game Pass Ultimate Xbox Live Gold Xbox とゲーム PC ゲーム Windows ゲーム 映画テレビ番組 法人向け Microsoft Cloud Microsoft Security Azure Dynamics 365 一般法人向け Microsoft 365 Microsoft Industry Microsoft Power Platform W

    patterns & practices: Composite WPF and Silverlight
  • matarillo.com: UIパターン

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

  • WPF/MVVM の勉強を始めてみた - カタチづくり

    これはいいものだ。 わず嫌いだったと反省。もっと早くからちゃんと勉強するべきだったな、これは。一周遅れでようやくWPFの良さに気づきつつあります。 正直言ってあまりGUIに興味がなかったので、「ボタンを斜めに傾けてもしょうがないと思うしなー、別にアニメーションとか興味ないしなー、WPFはいいやー」と思ってた。 それがふとしたきっかけで尾上さんという方のブログ アプリ開発に必須なプログラム言語は!? – JavaやObjective-Cなど聞くけど、何が必須なの!? に載っているスライドを読んでみたら俄然興味が出てきて、今少しずつデータバインディングとかを実験してみているところ。GUIの見た目を派手にすることには全く興味がないんだけど、WPFの質ってそこ(だけ)じゃなかったんだね。オブジェクト指向設計とか関心の分離とかMVCパターンとかを踏まえた延長線上でちゃんと新しいGUIのプログラミ

    WPF/MVVM の勉強を始めてみた - カタチづくり
  • Apache log4net – Apache log4net: Home - Apache log4net

    Apache log4net About Download Security Reports Release Notes License Documentation Features Supported Frameworks Example Apps Config Examples Building FAQ Manual Introduction Configuration Contexts Plugins Repositories Internals For Contributors Mailing Lists Issue Tracking Repository Project Reports RAT Report Apache Home License Sponsorship Thanks Security Conferences What is Apache log4net™ The

  • オープンソースのロギング・サービス「log4net」を使う ― @IT

    オープンソースのロギング・サービス「log4net」を使う:連載:VBで実践! 外部コンポーネント活用術(1/4 ページ) 連載目次 Apache Logging Serviceプロジェクトlog4net アプリケーションの開発では、コーディングが完了して動作確認をしたらきっぱり開発者の手を離れる……などということはほとんどないでしょう。コンシューマ向けのパッケージ作成であれば入念な動作テストが行われた後にリリースということになるでしょうが、特に社内で使用するアプリケーションの作成では、配布後にいろいろな修正要求や「うまく動かないんだけど……」といったリクエストを受け取ることが多々あります。 ユーザーからの「うまく動かない」という報告があった場合、「動かない」状況をきちんと(開発者が納得できるような)説明をしてもらえることは(まずほとんど)期待できません。そのためアプリケーションにログ機

    オープンソースのロギング・サービス「log4net」を使う ― @IT
  • いげ太のブログ: log4net ファースト コンタクト

    log4net を使ってみた。いやはやすげー便利だ。なんでいままで使ってなかったのか。 どうせログ ファイル取るだけでしょと思っていたが、それは全くの誤解。ファイル、コンソール(VS の出力ウィンドウ)、データベース、メール、NetSend コマンド(Messenger サービス)、そしてイベント ログに至るまで、ありとあらゆる出力先を選べるなんて。ロギングは、運用のみならず、デバッグのお供でもあったなんて。 でね、config ファイルに設定するだけでいとも簡単にそれができるわけなんだけども。旧バージョン向けの情報が検索で上の方にきたり、お望みの設定を得るまでにそこそこの時間を取られたりしたので、ここにメモしておく。現時点(2007/06/05)の最新バージョン、log4net 1.2.10 における俺設定。 log4net なんたるかは CodeZine あたりを見てもらうとして、早速

  • WindowsアプリケーションでSystem.Webアセンブリを参照するには?[VS 2010以降] - @IT

    「TIPS:WindowsアプリケーションでHTMLデコード/エンコードを行うには?」では、HTMLテキストの処理方法として、新しいWebUtilityクラス(System.Net名前空間)を紹介しており、.NET Framework 4環境向けのWindowsアプリケーションであれば、もはやHttpUtilityクラス(System.Web名前空間)を利用する必要はない。しかし、過去のコードの活用といった理由で、依然ASP.NET用のHttpUtilityクラスなどをVisual Studio 2010で使いたい場合もあるだろう。 そのような場合、System.Web名前空間のクラスをWindowsアプリケーションのプロジェクトで利用するには、参照設定に「System.Web」が含まれている必要がある。もし含まれていないなら、ソリューション・エクスプローラ内の「参照設定」を右クリックし、

  • syboos.jp