- - PR -
VB.NETとオブジェクト指向
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-18 14:08
Tdnr_Symさん、こんにちわ。
その通りです! 調子に乗って余談を少し、付け加えましょう。 相手先クラスは、モロ構造体です。 データ構造体は、カプセル化不要と見なし、Getter/Setterメソッドを用意しません。 すなわち、構造体メンバに対するダイレクトアクセスを許します。 (OO信奉者には白い目で見られそうですが‥‥) また、相手先クラスに「情報の入れ物に徹してもらう」ことも、設計上重要なポイントになります。 かつてOOPの経験が浅いとき、相手先情報に関連する操作は全て相手先クラスが持つべきだ、 なんて考えて実装した結果、ブクブク膨れた使い物にならないクラスにしてしまった経験があります。 開発は複数人で行うわけですから、他の人が相手先クラスのソースを読むわけです。 この時、使い方の概要をスパッと理解してもらえないと、開発効率が落ちるのです。 あまり複雑だと使って貰えなくなり、結果的に似たようなコードの拡散を招きます。 シンプルな部品を、組み合わせて機能を組み上げること。 これを設計ポリシーとしている次第です。 レコーダクラスやバリデーションクラスを分けたのも、そのためです。 この手のハナシは、語り出すと長くなりますので、これぐらいで切り上げます(笑)。 リクエストがありましたら、遠慮無くご質問ください。
問題領域の件は、上のご質問で理解できました。 ビジネスロジックは、OOPで組まれています。 SQLは介在しませんが、強く意識しています。 つまり、DBを単なる永続化のためのストレージと見なしません。 性能(=品質)を確立するための重要ファクターですので、 問題領域のモデリング後、DB設計に入ります。 OOPでの設計は、データと画面と帳票を強く意識したモノになります。 現実世界の現物をマネするのは、画面と帳票設計のみ。 それ以外は、格納されたデータをどう扱うか、に腐心するわけです。 | ||||||||
|
投稿日時: 2005-09-19 15:07
キイロイトリ様
詳しいご説明をしていただきまして、ありがとうございます。 勉強になりました。今後の参考にさせていただきます。 ・・・ なんだか議論が中断してしまっているようですし、 私もこれ以上、話を膨らませられそうにないので、 そろそろこのスレッドから退散したいと思います。 どうも、お邪魔いたしました。 皆さん、タイトルの「VB.NETとオブジェクト指向」について、 または、スレ主さんの質問内容「業務アプリとオブジェクト指向」 あるいは「DBとオブジェクト指向」…について議論を続けてください。 #私が言う立場ではないですね(~_~;) それでは。 | ||||||||
|
投稿日時: 2005-09-20 06:39
さかもと、と申します。
すみからすみまでじっくりと読ませて頂きました(笑) キーワードを初め、具体的な話まで 有識者の皆様方、本当に勉強させて頂きました。 ありがとうございました。 これからの方針の参考にさせて頂きます。 今後とも宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-09-20 08:48
こんにちは、じゃんぬ です。
向こうでも話が出ていましたが、 いわゆる、Variant ではないんですよね。 ただ、明示化しないと気持ちが悪いですね。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-09-20 18:06
さかもと と申します。
タイムリーな話題・・・?が出てきました。 こちらにレス頂いた皆様のご意見とともに熟読致します。 http://www.atmarkit.co.jp/fdotnet/special/ormap01/ormap01_01.html | ||||||||
|
投稿日時: 2005-09-30 00:45
こんにちは、中西と申します。
PofEAAに関する話題が出てましたので少し。 エンタープライズアプリケーションと言っても基本となるのはCRUDであるし、.NETの場合だとDataSetが強力なのでテーブルモジュールを採用する機会が多いと思います。 そこでテーブルモジュールの実装サンプルを公開しました。興味のある方はどうぞ。 VB.NET テーブルモジュール サンプルコード http://hccweb1.bai.ne.jp/tsune-1/download/vb/TableModuleSample-1.0-dev-src.zip C# テーブルモジュール サンプルコード http://hccweb1.bai.ne.jp/tsune-1/download/cs/TableModuleSample-1.0-dev-src.zip |