.NET Clips - アーキテクチャ/デザイン/OSSの注目エントリー
1
CLIPS

OPC Diary »MSDN Magazine, Technet Magazine PDF ダウンロード

2388日前に更新 aoki1210aoki1210 2396日前に登録
2011年05月05日 GMT 2011年04月27日 GMT
実際に雑誌として発刊されている状態のままPDF化されダウンロードできるようになっています。 MSDNマガジンは2003年1月から2011年4月号まで、Technetマガジンは2005年冬号から2011年3月号までダウンロード可能です。 雑誌広告もそのままなので、アメリカいろいろなパーツメーカー等の広告も見られておもしろいですよ。 MSDNマガジン Technetマガジン 追記: 古い物だとPDFではなく、HTMLヘルプ(CHM形式)の物があるようです。 (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 8 | コメント | | ソースサイト: opcdiary.net
タグ: MSDN
1
CLIPS

アプリケーション アーキテクチャ ガイド 2.0

2396日前に更新 aoki1210aoki1210 2403日前に登録
2011年04月27日 GMT 2011年04月20日 GMT
このガイドは、開発者とソリューション アーキテクトが、十分に試行されて信頼できるアーキテクチャ、設計原理、およびパターンを活用することによって、マイクロソフト プラットフォームと .NET Framework で実行する効果的で高品質のアプリケーションを少ないリスクですばやく構築できるようにすることを目的としています。 このガイドでは、優れたアプリケーション アーキテクチャとアプリケーション設計の堅固な基盤を提供する基になる原理とパターンの概要を紹介します。 アプリケーション アーキテクチャ ガイド 2.0 [XPS、6.91 MB | PDF、5.97 MB] (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 10 | コメント | | ソースサイト: msdn.microsoft.com
タグ: アーキテクチャ
1
CLIPS

MEFでAOP - 匣の向こう側 - あまりに.NETな

2396日前に更新 aoki1210aoki1210 2405日前に登録
2011年04月27日 GMT 2011年04月18日 GMT
過去に似たようなことをやった気がしますが、今回はMefContribを使った一応、正式っぽい方法で。using System; using System.Linq; using System.Reflection; using System.ComponentModel.Composition; using System.ComponentModel.Composition.Primitives; using System.ComponentModel.Composition.Hosting; using MefContrib; using MefContrib.Hosting.Interception; using MefContrib.Hosting.Interception.Castle; using MefContrib.Hosting.Interception.Configuration; using Castle.DynamicProxy; namespace MefInterceptorSample { publicclass MyInterce... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 33 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: AOP, MEF
1
CLIPS

Ito Blog » メモリリークのまとめ(Dispose Finalize パターンと応用)

2401日前に更新 aoki1210aoki1210 2408日前に登録
2011年04月23日 GMT 2011年04月16日 GMT
前回は、メモリに関する基本的になことをまとめました。 今回は、Dispose Finalize パターンについてと、その応用についてです。 Dispose Finalize パターンとは、Finalize メソッドを利用して、Dispose メソッドを呼び出すというものです。 以前、通常のインスタンスは、マネージヒープメモリに格納され、どこからも参照されていないインスタンスは GC によって自動的に回収されることについてまとめました。 Finalize メソッドは... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 40 | コメント | | ソースサイト: blogs.bitlan.net
タグ: C#
2
CLIPS

MVVMパターンの適応 – 2011年のMVVMパターンの常識 - the sea of fertility

2452日前に更新 ugaya40ugaya40 2455日前に登録
2011年03月02日 GMT 2011年02月27日 GMT
MVVMMVVM | Silverlight | WPF MVVMパターンに関する認識・知見があちこちに散らばっているように見えるので、そろそろまとめてみる事にしました。この記事は、他の各サイトの記事などでMVVMの基本的な考え方・実装方法などを把握されている方が対象です。 そういった方がMVVMパターンを実務に適応してみようと思った時や、MVVMパターンを要件に合わせてカスタマイズしていく際に、認識すべきパターンの実装方式のそもそもの理由と考え方、要件に合わせて考えていかなければならないポイントを把握する助けとなる情報を提供するのを目的としてこの記事を書きました。(文字ばかりですいません><) MVVMの実装の各要素の実装をこねくりまわすばかりで、その過程でパターンを把握している気になって、パターンの本来の目的を破壊してしまうような実装を推奨してしまっている人も見ます。そんな滑稽な事をしない認識を持って欲しいのです。 MVVMパターンは、WPF/SilverlightにおけるPresentation Modelパターンの実装、基本的な目標をドメインロジックとプレゼンテーションロジックの分離に置... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 84 | コメント | | ソースサイト: ugaya40.net
タグ: MVVM
1
CLIPS

Repository パターンふたたび - まめしば雑記

2452日前に更新 aoki1210aoki1210 2455日前に登録
2011年03月02日 GMT 2011年02月28日 GMT
Repository パターンふたたび 今までの Repository パターンについて書いたエントリ。 id:shiba-yan:20090409:1239203944 id:shiba-yan:20090429:1241000156 もうこれを書いたのも 2 年前なんですねー。その間に LINQ to SQL はいらない子になっていたり、Entity Framework 4 が出たと思ったらコードファースト対応の CTP が出て「ひょっほーい!ぶーん!」やってたり、いろいろと当時とは変わってます。 前回は DataContext の共有とかどうしよう?で話を終わらせてたんですけど、冷静に考えると整合性はエンティティに定義したナビゲーションプロパティに対して操作を行うから心配する必要はないと思いました。じゃあ DbContext に Repository をフィールドとして持たせればいいよね。 てことで、Entity Framework CTP を使うようにしたりいろいろと修正。IRepository (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 54 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: Repository
1
CLIPS

C# 4.0で実装するデザインパターン「その1 生成に関するパターン」 - かずきのBlog@Hatena

2502日前に更新 aoki1210aoki1210 2507日前に登録
2011年01月11日 GMT 2011年01月06日 GMT
気が向いたやつをやってみます。最初はGoFの全パターンをやってみようと思いましたが、あまり従来と変わらないものとかもあるので、これはちょっと実装が変わるかなと思ったものをピックアップしていくつもりです。。 ちなみに、参考にしてるのは以下のサイトです。Skeleton of GOF’s Design Patterns なるべく上記のサイトと同等のコードになるように努めています。 今回は、とりあえず生成に関するパターンを見てみようと思います。生成に関するパターンFactory Methodパターン これは、オブジェクトを作るクラスを継承関係を使って・・・とめんどくさいことをしていますが、メソッドを変数に入れて扱うというデリゲートの仕組みがあるC#では、あえて生成メソッドのためだけにクラスをこしらえる必要はないと思ったりします。 ということで、以下のような感じになりました。namespace Okazuki.GoFPatterns.FactoryMethod { using System; class... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 10 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, デザインパターン
2
CLIPS

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

2507日前に更新 ugaya40ugaya40 2517日前に登録
2011年01月06日 GMT 2010年12月27日 GMT
前述の記事の通りSilverlight5にはMVVMパターンサポートとして、イベントハンドラへのXAMLからの直接バインドが可能になるそうです。 こういうコードイメージになるんですかね。(このコードは実際には動作しません) 以前の記事ではあえて書きませんでした(Twitterでは愚痴りまくってました)が、私はこの機能の導入には絶対反対です。何故ならそれはMVVMパターンの思想と反しかねないからです。私は、MVVMパターンがパターン遵守へ誘導的なインフラストラクチャを持ちうるポテンシャルを持っている事を大きなメリットだと思っています。 パターン遵守へ誘導的な設計パターンのインフラストラクチャ MVC系に限らず、多くの設計パターンは習得にドキュメントやサンプルコードを読み込まねばなりません。 ドキュメントやサンプルコードへの理解の差が、コードの品質の差となって現れる事は良くありることです。不完全にパターンを理解した人間が開発に参画すれば、結果的に既存のコードで守られてきた... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 40 | コメント | | ソースサイト: ugaya40.net
タグ: MVVM, アーキテクチャ
1
CLIPS

.NETにおけるアプリケーションアーキテクチャガイダンス

2527日前に更新 aoki1210aoki1210 2534日前に登録
2010年12月17日 GMT 2010年12月11日 GMT
このガイドは、開発者とソリューション アーキテクトが、十分に試行されて信頼できるアーキテクチャ、設計原理、およびパターンを活用することによって、マイクロソフト プラットフォームと .NET Framework で実行する効果的で高品質のアプリケーションを少ないリスクですばやく構築できるようにすることを目的としています。 このガイドでは、優れたアプリケーション アーキテクチャとアプリケーション設計の堅固な基盤を提供する基になる原理とパターンの概要を紹介します。この基盤の概要を背景として、アプリケーションの機能をレイヤー、コンポーネント、およびサービスに分ける汎用的なガイダンスを提供します。さらに、ソリューションの重要な設計特性、重要な品質特性 (パフォーマンス、セキュリティ、スケーラビリティなど)、および横断的関心事 (キャッシュ、ログなど) の特定と対処についてのガイダンスも提供します。また、さらに一歩踏み込んで、Web アプリケーション、リッチ インターネット アプリケーション (RIA)、リッチ クライアント アプリケーション、サービス アプリケーション、モバイル アプリケーションなどの、一般的な種... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 19 | コメント | | ソースサイト: www.microsoft.com
タグ: .NET, アーキテクチャ
2
CLIPS

MVVMパターンを学ぶ 2010 – 動機・実装・未来を理解するためのリソースまとめ - the sea of fertility

2533日前に更新 ugaya40ugaya40 2541日前に登録
2010年12月11日 GMT 2010年12月03日 GMT
MVVM | Silverlight | WPFMVVM | Silverlight | WPF 日本時間本日早朝(2010/12/03)、米国でのイベントSilverlight Fire Starterのキーノートにおいて、Silverlight 5が発表されました。 WPFの存在意義を脅かすほどのSilverlightの機能強化が発表される中、The Future of Microsoft SilverlightとしてMVVMパターン用サポートがSilverlight 5 標準に公式に採用される事が発表されました。Model View ViewModel (MVVM) and Databinding enhancements allow more work to be done more easily via XAML:Debugging support now allows breakpoints to be set on a binding, so you can step through binding failures.Implicit DataTemplates allow templ... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 23 | コメント | | ソースサイト: ugaya40.net
タグ: MVVM
2
CLIPS

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

2540日前に更新 ugaya40ugaya40 2547日前に登録
2010年12月05日 GMT 2010年11月28日 GMT
MVVM | WPFMVVM | WPF WPF/Silverlight開発において、イベント駆動開発じゃ何故いけないのか? MVC/MVP/PMパターンとMVVMはどう違うのか、どういったメリットがあるのか? そういう声を聴く機会は少なくありません。   MVVMパターンとイベント駆動開発、MVC/MVP/PMパターンとの関係について僕の理解をまとめました。 MVVMパターンをわざわざ適応する事に疑問がある方にはぜひ読んで欲しいと思っています。   また、このドキュメントを記述するにあたり@matarilloさん、@ufcppさん、@yfakariyaさん、諸先輩方3方に叩き台を見ていただき多くの指摘を頂くことができました。今回は頂いたフィードバックを受けて公開する形になっております。 押しつけがましくも一方的に依頼させていただいて、にも拘わらず非常に丁寧に様々な指摘・示唆を頂くことができました。 この場を借りてお礼申し上げます。ありがとうございます。   簡単な内容ではないと思っております。 読んでいただいた結果、内容に疑問・指摘など多々あるかと思いますので、コメントなどで... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 141 | コメント | | ソースサイト: ugaya40.net
タグ: MVVM
1
CLIPS

MVVM 勉強会資料 « ++C++; // 未確認飛行 C ブログ

2554日前に更新 aoki1210aoki1210 2562日前に登録
2010年11月21日 GMT 2010年11月12日 GMT
第60回codeseek勉強会・第2回日本C#ユーザー会勉強会、テーマ「MVVM パターン」の発表資料のリンク集です。 内容(敬称略、発表順): スピーカー タイトル ダウンロード リンク 岩永 信之 (@ufcpp) なぜMVVMなのか かるあ (@karuakun) MVVM を使ったアプリケーション開発 -基本編- 尾上 雅則 (@ugaya40) ViewModelからViewへのメッセージング手法 http://ugaya40.net/wpf/mvvm-study-resource.html 伊藤 達也 (@TatsuyaIto) T4 によるアプリケーション開発 h (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 19 | コメント | | ソースサイト: ufcpp.wordpress.com
タグ: C# ユーザー会, codeseek, MVVM
1
CLIPS

匿名クラスを使ったリファクタリング - present

2564日前に更新 aoki1210aoki1210 2570日前に登録
2010年11月10日 GMT 2010年11月04日 GMT
匿名クラスを使ったリファクタリング .NET 最近、メソッド内のローカル変数の数が多くなると、関連性のあるものを匿名クラスを使ってまとめるようになりました。こんな風に。// WCF で使う設定を匿名クラスにまとめる var config = new { BaseAddress = "net.pipe://localhost", Address = "Greeting", Binding = new NetNamedPipeBinding(), }; var host = new ServiceHost( typeof(GreetingService), config.BaseAddress); host.AddServiceEndpoint( typeof(IGreetingService), config.Binding, config.Address); host.Open(); var client = ChannelFactory (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 13 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#, リファクタリング
1
CLIPS

VSUG アーキテクトアカデミー vol.01

2580日前に更新 aoki1210aoki1210 2587日前に登録
2010年10月25日 GMT 2010年10月18日 GMT
土曜日16日に参加してきました。 既に当日資料があがっています。 SlideShare » Event » VSUG Architect Academy vol.01Vsugアーキテクトアカデミー設立のご挨拶View more presentations from Visual Studio Users Group Japan. 当日の模様はいずれ映像で配信されるかもしれないようですし(未確定)、資料のないパネルの含めてだいたいの様子は次の@kohseiまとめていただいているTwitterのログでわかるかと思います。Togetter – 「VSUGアーキテクトアカデミーVol.1 設立主旨のご挨拶」Togetter – 「VSUGアーキテクトアカデミー Vol.1「アーキテクトを志向する皆さんへ」」Togetter – 「VSUGアーキテクトアカデミーV0l.1パネルディスカッション」感想とか いくつか感想とか気づいたことなど。萩原さんの「読書はあまりせず考える時... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 4 | コメント | | ソースサイト: opcdiary.net
タグ: VSUG, イベント
1
CLIPS

InfoQ: PRISM 4のコードが完成

2588日前に更新 aoki1210aoki1210 2593日前に登録
2010年10月17日 GMT 2010年10月12日 GMT
Microsoftのpatterns&practiceチームは、PRISM 4 Drop 9 と呼ばれる複合アプリケーション ガイダンスの最新版をリリースした。ライブラリ、リファレンス実装、そしてクィックスタートのコーディングが完了している。 PRISM (PResentation Integration SysteM)は、以前 Composite Application Guidance for WPF and Silverlight として知られていた、 Microsoft のpatterns&practicesプロジェクトで、... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 12 | コメント | | ソースサイト: www.infoq.com
タグ: Prism
1
CLIPS

MVVM Light Toolkitを使ってみよう。その2 MVVMの復習

2597日前に更新 aoki1210aoki1210 2603日前に登録
2010年10月08日 GMT 2010年10月02日 GMT
さて、ぼーっとしているうちに日があいてしまいましたが、MVVM Light Toolkitの使い方を説明する前に、MVVMについて復習しておきましょう。 ■ MVVMとは? Model-View-ViewModelの頭文字をとった、アプリケーションのUI分離パターンの一つです。 UI分離パターンを使うと、各層の依存関係が薄くなり、アプリケーションの修正、複数人数での分散開発、単体テストのしやすさなどの面で利点があります。 また、ExpressionBlend 4からは、デザインツール側でもMVVMがサポートされていることから、デザインツール側でアプリケーションをデザインする際にも各層が分離されているということが重要になってきます。 MVVMでは、有名なMVC(Model-View-Controller)をベースに、バインド機能をより使いやすい形に変換したパターンになっています。 MVC、MVPの詳しい説明に関しては、猪股さんの解説が... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 83 | コメント | | ソースサイト: karua.at.webry.info
タグ: MVVM
1
CLIPS

言語設計

2599日前に更新 aoki1210aoki1210 2603日前に登録
2010年10月06日 GMT 2010年10月02日 GMT
「言語設計者たちが考えること」などという本を買って呼んでいるわけですけども。Anders Hejlsberg のところを主に。この本を読みつつ、自分的に思うところなどをまとめてみる。 フレームワーク ここ2・30年ほどを見て、言語は大して進化してない。進化してるのはフレームワーク。 属性、イテレーター ブロック、LINQ や dynamic を導入している C# を基準に見てすら、それ以上にフレームワーク側の進化の方がはるかに大きい。LINQ や dynamic も、言語上は薄い構文糖衣で、多くの部分をフレームワーク側に寄せている。 今は、言語、フレームワーク、開発ツールが切り離せない。 新言語 新しい機能が欲しいんなら既存の言語の拡張でいい。新しい言語を作りたいのはむしろ機能を削りたい時(危険だったり誤用を招く機能をなくしたい時)。 汎用言語の新機能は、汎用であるべき。LINQ はデータ アクセスという domain specific ではあるけど、拡張メソッド、匿名型など... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 8 | コメント | | ソースサイト: ufcpp.wordpress.com
タグ: 言語設計
1
CLIPS

各種DIコンテナとASP.NETのWeb Formとの連携

2608日前に更新 aoki1210aoki1210 2615日前に登録
2010年09月27日 GMT 2010年09月20日 GMT
MEFを使おうと思っているんですが、MEFにはWeb Form(Page)に依存注入するような機能はないので(サンプルはありますが)、自分で考える必要があります。例えばこんなことです。コンテナの生成をフレームワーク側で行うのか、アプリにまかせるか生成したコンテナをどこで保持しておくか? HttpApplication、シングルトン?依存注入をどこで行うか? IHttpModule、IHttpHandlerFactory、IHttpHandler?リクエストスコープは必要か?サーバーコントロールの依存注入には対応する? MEFのサンプルや他のDIコンテナではどう対応しているのか見てみます。MEF サンプルがあります。http://mef.codeplex.com/releases/view/44166 IHttpModuleの実装クラスでアプリケーションレベルのコンテナとリクエストスコープなコンテナを生成してます。アプリケーションレベルのコンテナには、アプリからはアクセスできなくて、リクエストスコープなコンテナはHttpC... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 32 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: ASP.NET, DI, MEF
1
CLIPS

構造体とクラス

2614日前に更新 aoki1210aoki1210 2620日前に登録
2010年09月21日 GMT 2010年09月15日 GMT
構造体とクラス こういった話が。→ Design Guidelines– Classes vs. Structures C# で、構造体とクラスの使い分けはどうするの?ということで、以下のような記述が。Consider defining a structure instead of a class if instances of the type are small and commonly short-lived or are commonly embedded in other objects. Do not define a structure unless the type has all of the following characteristics: It logically represents a single value, similar to primitive types (integer, double, and so on). It has an instance size smaller than 16 bytes. It is immutable. It will n... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 17 | コメント | | ソースサイト: ufcpp.spaces.live.com
タグ: C#
1
CLIPS

共変性について。

2618日前に更新 aoki1210aoki1210 2622日前に登録
2010年09月17日 GMT 2010年09月13日 GMT
以下のクラス図について、考察してみます。 従業員(Employee)、顧客(Customer)は人(Person)です。 経営者(Manager)は従業員(Employee)でもあり、人(Person)でもあります。 namespace ContraCovariance { abstractclass Person { publicstring Name { get; set; } } abstractclass Employee : Person { } class Manager : Employee { } class Customer : Person { } class Program { staticvoid M1(Person[] persons) // 人として受け取る。 { // 顧客は、人であるが、従業員ではないため、例外が発生(System.ArrayTypeMismatchException) ... (詳細)
カテゴリー: アーキテクチャ/デザイン/OSS | クリック数: 13 | コメント | | ソースサイト: d.hatena.ne.jp
タグ: C#