@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
プロパティについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-08-09 23:51
msoです。
みなさま、いろいろと意見ありがとうございました。 なんとなくイメージではありますが、わかってきた気がします。 なんかの本で読んでいて、知っていたはずなのですが 改めて理解した感じです。 ただ、ちょっと気になるのですが、 やっぱりメソッドの引数が増えるとプロパティにしてしまう方が便利なんでしょうか? # C#であれば、DataSetに値をつっこんで、それだけを # プロパティに渡してしまえば良いと思うのですが、 # 邪道ですか?あと、Javaの場合はDataSetみたいな代用ってありますか? 個人的な話ですが、普段からVisualStudioで仕事をすることが多いので、 メソッドにしてもそれほど順番を間違えることないのです。 引き渡す数が多いと、プロパティを定義するのが面倒になりませんか?? | ||||||||
|
投稿日時: 2005-08-10 01:49
クラスに紐付いている情報であればそのクラスにプロパティを作りますが、
そうでなく、且つ渡す情報が多い場合、私の場合はメソッドに渡す情報のクラスを作って、 そのオブジェクトに必要な情報をセットし、メソッドに渡すやり方をしています。
プロパティにしておくとメソッドに渡す情報が 増えたり減ったりしたときに変更がやりやすかったりします。 | ||||||||
|
投稿日時: 2005-08-10 09:20
こんにちは、じゃんぬ です。
最低でも強い型情報は欲しいところですけどね。(^^)
データクラスの場合、プロパティの方が何かと直感で理解しやすいですね。 プロパティがイヤであれば、フィールド定義でも問題ないと思います。 何かの振る舞いのために、渡す時点でデータクラスだと思いますし。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-08-10 11:01
こんにちわ、餅宮です。
メソッドに渡す引数が多くなる時点で、クラス設計がおかしいような気がいたしますが、架空兎さん、じゃんぬねっとさんもお書きになられていますが、データの固まりを渡すなら、値クラス(情報のクラス、データクラス)を引数にするのが良いかと思います。 対象とするクラスの属性的な情報であれば、プロパティにするのはいいと思うのですが、対象となるメソッドでのみ使用する用途でプロパティを定義するのはおかしいと思います。
面倒ですか???、クラスの役割を考えて、メソッドなりプロパティを定義してるだけなので、余り面倒だとは思いませんが、物理的に面倒だという意味なクラスビューからメソッドなり、プロパティを定義すると少しは楽になるのではないでしょうか? | ||||||||
|
投稿日時: 2005-08-21 21:41
私はDataSetを使ってやるやりかたは特に問題は感じません。 そもそも.Netの全体的なクラス設計の思想が、Javaなようなクラス志向ではなくDataSetを中心としたデータバインディングとなっています。 Javaも同様な設計思想があり、RowSetを利用したコーティングレスなEODに向かいつつあります。 結局なところ変数のアクセスに対してプロパティを利用すべきかそうでないかは、顧客の要件によると思います。 顧客の要件を達成するのに純粋なオブジェクト指向が必要であれば、変数のアクセスはプロパティを経由すべきですし、処理は完全に正規化されクラス内にカプセル化され、処理は委譲されるべきです。 しかしながら顧客が単純な設計と、生産性と品質を好むのであれば、無駄なコードは1行でも削減すべきですので、クラス設計に時間を費やすよりは、DataSetやRowSetをベースに、できるだけコーディングレスで要件を達成すべきだと思います。 | ||||||||
|
投稿日時: 2005-08-22 11:22
こんにちわ、餅宮です。
理解できない部分があるので、ご教授ください。
「生産性と品質」が純粋なオブジェクト指向で作成されたものより、DataSetやRowSetでコーティングするほうが向上するのはどうしてですか? 又、スレ主さんがDataSetを使う理由としてあげているのは、メソッドの引数が多くなる場合であると認識していますが、そのレベルでも「顧客の用件」が入ってくるのでしょうか? | ||||||||
|
投稿日時: 2005-08-22 12:02
顧客の要件が必要でなくとも、プロパティで明示化するのは良いことだと思います。 また、何かあった時にプロパティ内で「副作用」を差し込めたりできますし... 公開フィールドで使うのは、データクラスか読み取り専用フィールドくらいですかね。 あ、こういう問題って正しい答えなんかはないと思います。(^^) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-08-22 12:26
基本的にプログラミングレスなのですから、バグの件数が減り、生産性が向上するのは当然です。当然顧客の要求が複雑なビジネス処理やビジネスルールを適用するのであれば、オブジェクト指向を利用するのがいいと思います。あまりないとは思いますが。
無駄な「オブジェクト指向のため」のコードは基本的に顧客は要求しません。 |