言語

C#によるDCIアーキテクチャ実装

Googleグループのobject-compositionグループではDCIアーキテクチャに関する議論がなされている様です。 その中でC#によるDCIアーキテクチャの実装についてはやはり「拡張メソッドを使ったtraitあるいはミックスイン(mixin)的なもの(その3) - Jamzzの日…

拡張メソッドの活用

自分の理解を確認するために拡張メソッドの活用について整理したいと思います。 拡張メソッドの活用例として特定のクラスを通じて取得するSingletonというものを考えてみました。 通常Singletonは利用する側が任意の個所で取得するようになっていると思いま…

拡張メソッドを使ったtraitあるいはミックスイン(mixin)的なもの(その3)

昨日「拡張メソッドを使ったtraitあるいはミックスイン(mixin)的なもの(その2) - Jamzzの日々」の最初の投稿した後にお風呂に入ってあれこれ考えていたらメモリリークに気がついて、ひょっとして参考にする人がいるかもしれないと思って取り急ぎソース…

拡張メソッド

ここのところtraitに惑わされてだいぶ寄り道して凝った内容を書いてしまったのですが、個人的にはミックスイン(mixin)的に型階層に関係なくスコープを限定して後付けで機能を追加できればそれで充分に嬉しいと思っています。 C#の拡張メソッドはまさにその…

拡張メソッドを使ったtraitあるいはミックスイン(mixin)的なもの(その2)

「拡張メソッドを使ったtraitあるいはミックスイン(mixin)的なもの(その1) - Jamzzの日々」に引き続いて、「第4回 Scala言語を探検する(2)(2ページ目) | 日経 xTECH(クロステック)」にある「Traitでアスペクト指向を簡易に実現」の例をC#で実現し…

拡張メソッドを使ったtraitあるいはミックスイン(mixin)的なもの(その1)

「C#クックブック 第3版」をパラパラと見ていて拡張メソッドというものがあることを知りました。 これは使えそうだと思っていたところにScalaにはTraitsというものがあってこれが多重継承あるいはミックスイン(mixin)と同様に活用できるということで注目を…

手続き記述から意味記述へ

プログラミング言語についてそれほど明るいわけではありませんがC#やScala、F#等のモダンなプログラミング言語の動向を見ていると、手続き型であるオブジェクト指向パラダイムと宣言型パラダイムの融合が進んできていて、徐々に慎重にであはりますが、さらに…

やっぱりC#はいいと思う

私がC#を初めて使うことになった以前の案件では.NET Framework 2.0を使っていました。 その時からC#をかなり気に入っていたのですが最近またC#を使う機会を得て最新の.NET Frameworkに触れるようになってますます気に入りました。 特にラムダ式がクロージャ…