2007-10-01から1ヶ月間の記事一覧

流れるようなインターフェースとメソッドチェーンは違うもの

最近はずっと.NETを使っているのでJava界隈の話に疎いのですが、DBアクセスの最適化は業務アプリでは非常に重要なポイントなので上記の内容は興味深いですね。開発者の視点にたっていろいろ考えられて点は素晴らしいし、非常に同意します。.NETであれば次のC…

DDD Sample Project

DDD

DDDのサンプルプロジェクトって見かけないなと思っていたら案外あるのですね。いろいろ参考にさせてもらおう。.NETでの実装もいろいろあって、.NETの世界でもDDDも認知されてきたということか。テクノロジー的にはNHibernateが多いようですね。このあたりはL…

案外Genericsって使われていない?

Enterprise LibraryのDI実装のObjectBuilderって標準ではGenerics対応していないんですね。 たとえば、以下のようなList<>を登録しておいてIList<>を利用してインスタンス化することができない。 // will return a List<string> instance IList<string> testList = container</string></string>…

なぜService Locatorはメジャーじゃないの

いまさらなんですが、Service LocatorってDIにくらべて脚光を浴びないですね。同じような効果があって、個人的にはDIと同じ程度、最近ではいままでDIを利用していた個所でもMicro Kernel+Service Locatorを使っているのにな、なぜなんでしょうかね。良いフ…

中学校のモデリング その6

答え合わせ 模範解答が掲載されているので、作成したモデルと比べて振り返ってみます。いくつかありますが、まずは偏見で最初のモデルと比べてみます。抽出している概念は今回具体的なスコープを定義されていないので明らかにスコープの違いによる相違はある…

中学校のモデリング その5

お題その2 追加要素3 いよいよ最終のお題です。クラブ活動の概念を含めるようです。ポイントはクラブのライフサイクルが学級などと違い複数年にわたる点、その間に顧問や参加する生徒が入れ替わるのをどのように表現するかだと見ました。まずは、オブジェ…

中学校のモデリング その4

お題その2 追加要素2 今回は授業担当に関する要素を追加するようです。ポイントは、 各先生は免許を持っている。 免許をもっている教科のみ担当することができる。 担任をするためには一定の条件が必要である 先生は授業の担当を割り当てらる とみました。…

中学校のモデリング その3

お題その2 追加要素1 前回の続きです。今回は転任・転校などの「こと(イベント)」をモデルに追加します。まずは、転任・転校・入学について考えます。これらのイベントに参加する中学校や先生、生徒のリソース(マスタ)に関連を付けるだけで特に難しさ…

中学校のモデリング その2

お題その2 中学校発展形 中学校のモデリング その1の続きです。前回のモデルでは単一の中学校に閉じたモデルでしたか、今回の発展形では複数の中学校を取り扱うシナリオです。ここでのポイントは、学級や生徒、先生の管理を各中学校単位に行うか、複数中学…

中学校のモデリング その1

Modeling Forum 2007には行っていないのですがモデリングワークショップというのがあって中学校をモデリングしたようです。お題があったのでモデリングチャレンジしてみます。モデリング道場のお題なので今回はJUDEを使ってモデリングします。やり方はいつも…

型指定されたDataSetにActive Record機能をつけてみた

Partial Classにビジネスロジックを書けるなど、シンプルにコードが書けて案外いい。仕組みは、型指定されたDataSetの自動生成されたコードに対してCodeModelを使ってビルド時に改変するようにしました。プリコンパイラみたいなもの。 Active RecordとDataSe…

DDD-ers in Japan?

DDD

いま、DDDのメーリングリストで各地域でのDDD-erを探しているようですね。日本のDDDのユーザ会とかないのかな?DDD会議とかあってもよいのにな。あったら行きたいな。

簡単ドメインモデル実装

今考えているフレームワークではドメインモデル(リッチなデータ)を実装すればあとは自動的にフレームワークが処理してくれます。いい感じに仕上がりそうです。GenericsとRealProxyの利用が中心で、Emitは全く使っていませんがかなりのことができますね。 […

Dynamic Proxyの実装

RealProxyを利用する方法はターゲットがMarshalByRefObjectのサブクラスじゃないといけない思われがちですが、インタフェース経由でアクセスすることで任意のクラスを対象にできます。*1この簡潔な実装があったのでメモただ、MethodCallMessageWrapperクラス…