- PR -

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

投稿者投稿内容
いげ太
常連さん
会議室デビュー日: 2004/10/27
投稿数: 32
投稿日時: 2005-09-14 17:06
引用:

Tdnr_Symさんの書き込み (2005-09-14 16:12) より:

これをシンプルに解決する方法は、「データ・バインディング」という汎用的な仕組みを作ることです。


ADO.NET によるデータ バインディングじゃ不足ってことでしょうか?
Tdnr_Sym
ぬし
会議室デビュー日: 2005/09/13
投稿数: 464
お住まい・勤務地: 明石・神戸
投稿日時: 2005-09-14 17:29
いげ太様
> ADO.NET によるデータ バインディングじゃ不足ってことでしょうか?

使ったことはありませんが、全然OKだと思います。
ただ、業務系.NETユーザーの皆さんはこの機能使っておられるのでしょうか?

細かい点をカスタマイズしたい場合、大丈夫でしょうか?
たとえば、「小数点以下は切り上げるようにしたい」とか・・

自作すればいろいろカユイところまで手が届くようにできますよ。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-09-14 19:31
じゃんぬねっとさん、こんばんは。

引用:

互換性を重視するために、VB2005 は VB6 に近づいてしまいましたが、
できれば 2 極化できるような仕組みが欲しかったです。


VB.NET に2つの顔を持たせるんじゃなくて、例えば VBA.NET とか VBS.NET とかを作って、そっちへ誘導して欲しかったりします。そっちでは何やっても良いから。(^^;
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-09-14 19:47
 何かで聞いた話ですが、VB の販売ターゲットが開発者ではなく、専門職であったことが主因ではないでしょうか。
(あぅあぅ、じゃんぬさんに先に書かれてしまった)
 開発者であれば、言語仕様を調べることに時間をとることは当然と考えますが、医者、弁護士、会計士などが業務の手助けとなるツールを作る(「開発」ではない)のに、いちいち言語仕様などを調べてられないでしょう。本来の業務があるのですから。

 ただ、手軽さがうけて、開発者層にまで VB の需要が拡大してしまった。専門職が必要とするツールが、ツールの範囲で収まらなくなり、業者に発注することが多くなった。そこで VB.NET の仕様を「開発者向け」にしたところ、今度は VB の手軽さに慣れた開発者が多くなりすぎていた。

ってところではないでしょうか。

 BASIC・・・基礎なんだし、Beginner's All-purpose Symbolic Instruction Code、初心者向けなんだから、VB.NET の仕様はそのまま(オブジェクトを意識しない)でもいいんじゃないかな?
 問題なのは言語仕様ではなく、開発者の方ではないでしょうか。開発のプロなら、いつまでも初心者でいる、初心者向けを使っているのではなく、その先に進んでもいいんじゃないかな、と思いました。
# VB から卒業、という意味ではなく、
# もっと、考えなきゃいけない方に進んでもいいやん。
# と、とってください。


・・・すっかり出遅れました。。。
_________________
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-09-14 20:50
葉瀬崎浩樹さん、こんばんは。

引用:

UntilとWhileを逆に使っている。


えー? それじゃ動かない様な気が…。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-09-14 21:16
さかもとさん、こんばんは。

引用:

・C#だと出来るけどVB.netだと絶対に出来ない(というかやりたくない)事


出来ないことはないと思いますけど、データの圧縮・復元アルゴリズムの実装なんかは、あんまりやりたくありませんねぇ。
葉瀬崎浩樹
大ベテラン
会議室デビュー日: 2005/06/28
投稿数: 115
お住まい・勤務地: 兵庫県
投稿日時: 2005-09-14 21:40
引用:
えー? それじゃ動かない様な気が…。


ええ、そのとおり。動きませんよね。
それは、すごーく良い指摘です。

その疑問に対する回答も何パターンかありまして。。

・他の構文も駆使して動かす。(いわゆるコーディングホラー)
・コケても機能に影響が無い、本来使う必要の無いループだった。
(レコード取得件数を取るための、RecSet.EOFまでのループとか。)
・コーディングミスが、別のミスをカバーしていて結果的に正しく動作。
・エラーが発生していても、On Error Resumeのおかげで落ちない。
・機能的に死んでいるけど、テスト不十分なまま出荷されている。
全てがこんな感じなんですよ。罪深いねぇ。

某大手電気メーカ様でのお話ですから。
繰り返しますけど、実話です。。
私がすんでいる世界はこんなところなんです。素敵でしょ。
リファクタ出来た場合は楽しいですよー(ヤケ
私は苦行を積むつもりで対応してました。

#追記
じゃんぬねっと様にご指摘頂いたように、
WhileとUntilの知名度の差を踏まえて、
Untilを使わずに、While Not を意図的に使うのは
問題なしと考えています。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-09-14 22:10
objectさん、こんばんは。

引用:

同じプロパティの定義が「ABC()」と「ABC」と全く違う訳です。
これらは、個々の言語に依存するより、本来全体として一貫すべきものだと思います。


…どうなんでしょう。
異なる言語同士で、文法上での(?)一貫性が必要かどうかは私には判りません。

ただ、

コード:
Default Public Property Hoge(ByVal index As Integer) As Class1


が C# からはインデクサに見えるのに対して、

コード:
Public Property Hoge(ByVal index As Integer) As Class1


としてしまうと

コード:
public Class1 get_Hoge ( System.Int32 index )

public void set_Hoge ( System.Int32 index , Class1 Value )


になってしまったりして、Default じゃないプロパティで引数を指定できることの意味が良く判らなかったりします。(^^;

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