2006-06-01から1ヶ月間の記事一覧

関心事に分離したドメインモデルを型指定されたDataSetで作成する

テーブルモジュールで作成する場合に型指定されたDataSetを使うが、型指定されたDataSetにドメインロジックを追加することでドメインモデルに近づけられる。このパターンのメリットはテーブルモジュールからドメインモデルに連続的に発展できるので、簡単な…

型指定されたDataSetを利用したドメインモデル

.NET2.0で型指定されたDataSetにPartialクラスで拡張できるのを利用してドメインロジックを型指定されたDataSetに追加することができる。 以前外部メソッド(Foreign Method)で実装していたが、これに比べて少し変わる程度かなと思っていたが、直感的ですご…

RonR、UML、OOは生産性をあげれるか?

ツールや方法論に対してそんなもの役に立たないと斬って捨てる人がいるが。 これはその人にとって役立たないだけで、その他の人には役立つこともある。たとえば、モデリングやUMLについて良く使えないと言う意見を聞く。これはUMLやモデリングは外科医をスー…

コードの自動生成

最近ではRonR、DSL、古くは4GLなどコードの自動生成を行って開発速度を上げようとする試みは多い。 実際どの程度役立つかはケースバイケースだが、良く似たパターンを大量生産する場合に利用できると効果が大きい。Visual Studioにも様々な自動生成を支援す…

Query Object vs SQL Where句

DDD

ORMなどを利用した場合でも、QueryObjectを利用するよりもSQL Where句を直接指定したいという意見を良く聞く。 たしかにWhere句は柔軟なんだけれども、Query Objectを利用するとより抽象度が上がってより設計仕様を直接的にあらわすことができる。この利点を…

並行開発と共通化

DDD

ドメインモデルを設計・実装する際の共通化が難しいと感じているが、それをコントロールするヒントがあった。 公布済みインターフェイス このアイデアを上手く設計時の取り込めないかあとXPのプラクティス「コードの共同所有」というアイデアもあるが、分散…

開発のガバナンス

ガバナンスという言葉を最近聞くことがあるが、開発におけるガバナンスの意味ってなんなのか? いろいろ調べてみると「開発プロジェクトに対する結果を予測しやすくすること」だそうだ。開発チームからみればプロジェクトオーナーに対する説明責任を果たすこ…

Railsはやっぱりクールだ!!

Railsを使う予定はないが、Railsには開発チームが参考にすべき点が多くありますね。 PHPに代表されるような「早いけど汚い」手法と、Javaに代表されるような「遅いけどキレイ」な手法にです。それで、両者を組み合わせたら、究極の目標である「早くてキレイ…

DTOの利用の注意点

DDD

ローカルDTOの議論に以下のような点があります。 「 DTOを使うコストを過小評価するな。それは深刻かつ困難なものなのだ―― オブジェクトリレーショナルマッピングに次ぐコストと苦労が強いられるぞ。」 ドメインオブジェクトに従ったメソッドシグニチャを持…

DTOとDataSet

P&Pにも、もちろんDTOとDataSetの話は出ています。データ転送オブジェクト

DTOって何?

DDD

多くのところでDTOって言葉をつかっているけど、それって本当にDTOなのと思えるようなものがある。PofEAAではDTOはメソッド呼び出しを減らすためにプロセス間でデータを運ぶオブジェクトとなっています。 ローカルDTOの議論はありますが、DTOはすくなくとも…

ドメインモデルによるビジネスルールの実装

DDD

ドメインモデルの実装では、概念の構造的な表現以外にビジネスルールを表現できる点も重要だと考えています。これは、業務アプリの多くはデータ記録・検索が中心のプログラムで構成され、構造よりもビジネスルールが複雑になります。このため、ドメインモデ…

関心事に分離されたドメインモデルの実装

以前、ドメインモデルサンプルで実装したプログラムが、関心事に分離されたドメインモデルでの実装になっています。これは.NET1.1で作成されたものですが、.NET2.0であればGenericsやPartialクラスを使うとだいぶコードが減るんでしょうね