- - PR -
VB.NETとオブジェクト指向
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-09-15 21:46
確かにそうですが・・RDBにおいては実際のところ たとえば在庫管理における処理というのは、 ・商品の入出荷の管理(入出荷台帳テーブルへの追記) ・商品在庫の照会(入荷・出荷の個数から集計) ・・・ であり、結局「データベースのクエリ・更新」になると思います。 そこに、商品クラスというのはどんな『振る舞い』があるでしょうか? #私の専門は、パッケージソフト開発や組み込みシステム開発であるため #こういう業務知識について無知であることは、ご容赦ください。 | ||||||||||||||||
|
投稿日時: 2005-09-15 22:04
そういえば出てきていないようですが、VB6 以前や VBA をさわっていて、「いいなぁ」と思ったこと。
関数名と同じ名前の変数が、暗黙で宣言されている これについては 「‘return’を明記する必要がないので、何を返しているのかわからない」 というご意見があることは承知の上です。 私は、たいてい‘ret’って名前を用意して、 これで返すようにしているのですが、 あっちでもこっちでも、違う型なのに全部‘ret’なところが、なんとも。。。 'return' が無くても暗黙的にその値が返ってしまうのはアレなんですが、ソースを見たときに「あ、これが返す値ね」というのがわかりやすいなぁ、と思いました。 _________________ | ||||||||||||||||
|
投稿日時: 2005-09-15 22:36
中さんの Blog で、C, VB, Pascal などの関数の return について、 色んな検証があった記憶があります。 URL が、見つからないのでリンクが貼れませんがw
とりあえず、略すのは "今の" Microsoft のデザイン ガイドラインに反しています。 私は、iReturn, lReturn なんかを使いますね。
あんまり、今は型を意識したコーディングはしない世の中になってますけどね。 意識したいのであれば、プリフィクスをつけることになるでしょう。
私は逆で、判りにくいと感じています。 関数名と同一であるがゆえに、気持ちが悪いんですよね。 出身言語のせいかもしれませんが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||||||
|
投稿日時: 2005-09-15 22:45
さかもとと申します。
Tdnr_Sym様、きくちゃん様、じゃんぬねっと様、はじめレスを立てられたhimanin様初め皆様方本当にハイレベルな方々のご意見ばかり色々と勉強させて頂いております。ありがとうございます。公式参考書云々を読むより実地的な意見ばかり読ませて頂き本当に勉強になります。 今までのレスに対してどうこう言える立場にはないのですが、もっともっと有識者の方々のご意見を伺いたくてレスさせて頂きました(笑) jitta様がおっしゃる >そういえば出てきていないようですが、VB6 以前や VBA をさわっていて、「いいなぁ」と思ったこと。 という視点でのご意見も是非と拝聴させて頂ければと思います。 そしてTdnr_Sym様がおっしゃる「インピーダンス・ミスマッチ」についても是非ご意見を伺わせて頂ければと思います。 (スレ主のhimanin様相乗りでレスさせてばかり頂いて申し訳ございません) | ||||||||||||||||
|
投稿日時: 2005-09-16 00:37
どもです。がるです。
んっと。実はあんまり「純粋なOO的見地」って興味ないです(苦笑 私は基本的に、自分を「現場の技術者」って位置においてあるので。 (恐らくは「学術的に」)純粋なOOよりは「OOという考え方が 実際に便利であろう側面のつまみ食い」のほうが好みなので :-P なので、自分的には別に「妥協して合わせている」感じも 特にしてないです。 単純に、あーゆークラスのきり方をすると「OOの便利なところが 色々と使えて楽なので」あんな風にしてます。 というか、現場で使ってる人間にとってはそれでいいんじゃ ないかなぁ、とか思ったりする今日この頃です :-P # だから、私が以前ここの掲示板で載せさせてもらった # オブジェクト指向講座も、学術的には「汚い」です(笑 | ||||||||||||||||
|
投稿日時: 2005-09-16 06:24
現場の技術者は理屈どうのこうのよりも、「実際に動くもの」を、 限られたリソース(人的・金銭的・納期…)で作らなければいけない。 そういうことは重々承知しております。 なので、がるがる様のとっておられるスタンスを批判するつもりは、 全くありません。
私が「違和感」や「妥協」を感じているのは、 たとえば、先ほどの「支店」と「社員」の例で言いますと、 OOでは、支店クラスと社員クラスの間には、「所属する」という『関連』が あるというのが通常だと思いますが、 がるがる様の実装例では、支店インスタンスと社員インスタンスの間には、 それがないですよね。 このことは、つまり、支店インスタンスと社員インスタンスとの間で 『メッセージ』のやり取りがない、あるいはできない、ということを意味していませんか? 別に、この二つのインスタンスの間で『メッセージ』のやり取りが必要ないのであれば構いませんけれども・・ (その場合、この二つのクラスの間には『関連』がないことになりますが、 RDB側にだけ「支店マスタ」「社員マスタ」の間にリレーションシップが張られている、 となるとやっぱり不自然な気がします。) いずれにせよ私的には、さまざまな点で「インピーダンス・ミスマッチ」という、 オブジェクト技術とリレーショナル技術の構造に根ざした深い「溝」を無視することはできません。 | ||||||||||||||||
|
投稿日時: 2005-09-16 07:17
get_all社員();
を使えば社員が取得できるので、関連が「ある」のではないでしょうか? #必要な文脈においては社員の同一性が保たれるという前提が必要かもしれませんが、ご提示の例では ID のみ取得しているのでできていると推測します。 | ||||||||||||||||
|
投稿日時: 2005-09-16 07:36
この一行だけで『関連』があるかどうか判断できないのではないでしょうか? 『依存性』があるとは言えるでしょうけれども。 |