torutkのブログ

ソフトウェア・エンジニアのブログ

C#

アプリケーション開発と保守における考慮事項

先日社内でJavaOneサンフランシスコ参加報告を行った際に、なぜかJavaと.NET Frameworkの違いについての質問を多々受けました。質問は過去に開発したソフトウェアを再利用する場合の互換性などで、Javaについては1996年来からウォッチしていたので回答できま…

比較(IComparableとIComparerとComparison)

C#

Effective C# 2nd Edition, Item 31 "Implement Ordering Relations with IComparable and IComparer"を読んで、さらにComparisonが登場して、「うむむ」。 英語ネイティブでないプログラマーにはいじめとも思われる.NET Frameworkライブラリです。まず、自…

C#言語仕様の驚異(new)

C#

無謀にも、C#歴2週間でいきなりEffective C#(2nd Edition)から読みはじめています。この本のItem 23、"Understand How Interface Methods Difer from Virtual Methods"を読んで、メソッドの修飾子に「new」を使うという凄い例を初めて見たのでびっくりしまし…

GUIアプリケーションのパターン

C#

C#でWPFを使ったGUI(WPF)アプリケーションの設計において、MVVM(Model-View-ViewModel)と呼ばれるパターンがあります。 THE MODEL-VIEW-VIEWMODEL (MVVM) DESIGN PATTERN FOR WPF 複雑なGUIの場合に、ウィンドウに貼られる多数のコントロールを、階層化し…

C#(.NET)用のAspect-Oriented Programmingツール

C#

C#用にもいくつかのAOPツールが登場してきましたが、開発が停止してしまったものが多く、新しいバージョンに対応したアップデートがされているものは少ないようです。 PostSharp 商用製品で、最新版の2.0ではVisual Studio 2010対応(.NET 4.0)予定。(現時…

契約による設計

C#

C#のバージョンによる機能追加について調べているときに、クラス名Contractが出てきたので、契約による設計(Design By Contract)の機能がついに入ったようです。言語仕様ではなくクラスライブラリとしての追加らしいですが、詳しく解説しているブログがあ…

.NET Frameworkのメモリ管理と断片化問題(.NETアプリケーションを長期連続実行するのは要注意)

C#とJavaの言語選定にあたり、実行環境の比較をするため、ガベージコレクタについて調べていました。.NET Frameworkのガベージコレクション方式は世代別GCですが、Javaとは随分異なっています。特に顕著に異なっているのがLOH(Large Object Heap)と呼ばれる…

書籍購入(不本意ながらC#関連第1冊目)

The Root of .NET Framework作者: 荒井省三出版社/メーカー: ソフトバンククリエイティブ発売日: 2008/12/25メディア: 単行本購入: 10人 クリック: 173回この商品を含むブログ (41件) を見る開発言語選定の一環として、.NET Frameworkがどのような仕組みで動…

エンタープライズシステムの開発言語選定の一考察(C#とJava)

アーキテクチャ設計の一部に、プログラミング言語の選択があります。選択に関わるのは仕事では10年振り(うん? ちゃんと数えると13年か・・・)です。3月から下調べを開始して、可能な限り公平に。 もちろん人間の判断なので、主観が大きく関与せざるを得ま…