- PR -

DBアクセスにおいて、抽象クラス作成の有用性について

投稿者投稿内容
mover
常連さん
会議室デビュー日: 2004/06/20
投稿数: 47
投稿日時: 2004-06-22 12:06
お世話になります。

VB.NET
ADO.NET
SQLServer2000

上記環境にて開発しているのですが、少々悩ましいところがあるので相談させてください。

現状、データベースアクセスには特に抽象クラスを用意していません。
が、やはり抽象クラスを作成した方が良いのでしょうか?

昔JAVAで開発した時は、抽象クラスを作成したのですが、
VB.NET+ADO.NETの開発だとADO.NETが用意されているので必要ないのでしょうか?
好みだと言われればそれまでの議題なのですが^^;

出来る限り、プログラム時にルールを持たせたいと考えています。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-06-22 12:40
「抽象」というのは、キーワードabstract(VB.NETではMustInherit)の「抽象」のことですか?
それとも抽象的な「データを格納するもの(データベース)」を表現するクラスということでしょうか。
(おそらく後者だと思いますが)
mover
常連さん
会議室デビュー日: 2004/06/20
投稿数: 47
投稿日時: 2004-06-22 13:34
説明不足すいません。

「抽象」というのは、キーワードabstractのことです。

DataSet、…をメンバ変数に持ち、
SqlConnection、SqlDataAdapter、…、などをメソッドに持つabstractと考えてください。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-06-22 18:41
引用:

リオッタさんの書き込み (2004-06-22 13:34) より:
DataSet、…をメンバ変数に持ち、
SqlConnection、SqlDataAdapter、…、などをメソッドに持つabstractと考えてください。


うーん?
そのクラスがどのような仕事をするのか分かりませんが、abstractなものを作る必要があるんですか?
もちろん、そのクラスが抽象的な何かを表すのであればabstractで良いんでしょうけど。
具象クラスを作るのでは済まない理由はなんでしょう。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-06-22 19:52
リオッタさん、こんばんは。

# 取り敢えず、その抽象クラスがどのように使われるのかを、教えて欲しかったりします...。

引用:

好みだと言われればそれまでの議題なのですが^^;


「昔JAVAで開発した時」は何故、そういうクラスを作成したのか、その理由を考えれば、.net での開発に於いても有効かどうかが見えてくるんじゃないでしょうか。
その結果、本当に「好み」の問題であると考えられるなら、ややこしくなるだけなので止しといた方がいいと思います。
mover
常連さん
会議室デビュー日: 2004/06/20
投稿数: 47
投稿日時: 2004-06-23 00:09
お世話になっています。

抽象クラスを継承したDBアクセスクラスを生成し、トランザクション管理しようと考えていました。
そのクラスを持ちまわって、最初と最後のデータのタイムスタンプを比較し、
共有的ロックを自前で・・・とか色々考えていたのですが、
ADO.NETであればあまりそこまで考えなくてもいいのですよね^^;

まだまだ勉強不足で整理できていない状況です^^;
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2004-06-23 10:49
引用:

抽象クラスを継承したDBアクセスクラスを生成し、トランザクション管理しようと考えていました。



個人的には、↑を行うクラスとデータクラスは分離して実装します。
ロジックを担当するクラスに、処理対象のデータをメンバとして持たせることはあまりしません。

引用:

ADO.NETであればあまりそこまで考えなくてもいいのですよね^^;



比較的単純なテーブル構成で、SqlDataAdapter などが使える場合は考えなくても済みます。

ですが、SqlCommand や SqlDataReader やらを手動で制御する場合は自分で考えることになります。

_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
mover
常連さん
会議室デビュー日: 2004/06/20
投稿数: 47
投稿日時: 2004-06-23 11:08
お世話になります。

単純なテーブル構成の為、
今回はADO.NETで用意してあるオブジェクトで解決したいと思います。

今後、複雑な処理になるようなことがあった場合、
渋木宏明(ひどり)さんのアドバイスを活用させていただきます。

お忙しいなか、返答していただいた方々ありがとうございました。

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