- PR -

VB.NETとオブジェクト指向

投稿者投稿内容
キイロイトリ
会議室デビュー日: 2005/01/22
投稿数: 10
投稿日時: 2005-09-18 14:08
Tdnr_Symさん、こんにちわ。

引用:

Tdnr_Symさんの書き込み (2005-09-18 13:02) より:

O/Rマッピング(というかR/Oマッピングかな?)された相手先クラスは、
構造体に近い役割ということですね。

DBとのやり取りはレコーダクラスが担当し、
入力チェックなどの妥当性は、バリデーションクラスが担当すると。



その通りです!

調子に乗って余談を少し、付け加えましょう。

相手先クラスは、モロ構造体です。
データ構造体は、カプセル化不要と見なし、Getter/Setterメソッドを用意しません。
すなわち、構造体メンバに対するダイレクトアクセスを許します。
(OO信奉者には白い目で見られそうですが‥‥)

また、相手先クラスに「情報の入れ物に徹してもらう」ことも、設計上重要なポイントになります。
かつてOOPの経験が浅いとき、相手先情報に関連する操作は全て相手先クラスが持つべきだ、
なんて考えて実装した結果、ブクブク膨れた使い物にならないクラスにしてしまった経験があります。

開発は複数人で行うわけですから、他の人が相手先クラスのソースを読むわけです。
この時、使い方の概要をスパッと理解してもらえないと、開発効率が落ちるのです。
あまり複雑だと使って貰えなくなり、結果的に似たようなコードの拡散を招きます。

シンプルな部品を、組み合わせて機能を組み上げること。
これを設計ポリシーとしている次第です。
レコーダクラスやバリデーションクラスを分けたのも、そのためです。

この手のハナシは、語り出すと長くなりますので、これぐらいで切り上げます(笑)。
リクエストがありましたら、遠慮無くご質問ください。

引用:

Tdnr_Symさんの書き込み (2005-09-18 13:02) より:

そういう部分(領域)の処理はOOPで組まれているのでしょうか?
それともSQLによる実装となるのでしょうか?



問題領域の件は、上のご質問で理解できました。
ビジネスロジックは、OOPで組まれています。
SQLは介在しませんが、強く意識しています。

つまり、DBを単なる永続化のためのストレージと見なしません。
性能(=品質)を確立するための重要ファクターですので、
問題領域のモデリング後、DB設計に入ります。

OOPでの設計は、データと画面と帳票を強く意識したモノになります。
現実世界の現物をマネするのは、画面と帳票設計のみ。
それ以外は、格納されたデータをどう扱うか、に腐心するわけです。
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-09-19 15:07
キイロイトリ様
詳しいご説明をしていただきまして、ありがとうございます。
勉強になりました。今後の参考にさせていただきます。


・・・
なんだか議論が中断してしまっているようですし、
私もこれ以上、話を膨らませられそうにないので、
そろそろこのスレッドから退散したいと思います。
どうも、お邪魔いたしました。


皆さん、タイトルの「VB.NETとオブジェクト指向」について、
または、スレ主さんの質問内容「業務アプリとオブジェクト指向」
あるいは「DBとオブジェクト指向」…について議論を続けてください。
#私が言う立場ではないですね(~_~;)

それでは。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-09-20 06:39
さかもと、と申します。

すみからすみまでじっくりと読ませて頂きました(笑)
キーワードを初め、具体的な話まで
有識者の皆様方、本当に勉強させて頂きました。
ありがとうございました。

これからの方針の参考にさせて頂きます。
今後とも宜しくお願い致します。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-09-20 08:48
こんにちは、じゃんぬ です。

引用:

Jittaさんの書き込み (2005-09-16 23:09) より:

# C#3.0 の、ローカル変数の宣言が型を指定しなくてよくなる、というのが、気になる


向こうでも話が出ていましたが、
いわゆる、Variant ではないんですよね。
ただ、明示化しないと気持ちが悪いですね。


_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2005-09-20 18:06
さかもと と申します。

タイムリーな話題・・・?が出てきました。
こちらにレス頂いた皆様のご意見とともに熟読致します。

http://www.atmarkit.co.jp/fdotnet/special/ormap01/ormap01_01.html
tsune
会議室デビュー日: 2002/07/09
投稿数: 15
お住まい・勤務地: 兵庫県西宮市
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)