好きな「お肉」は?

vb.net オブジェクト指向について。
vb.netってどうしてフォームに処理書く前提になってるんですか?
例えば登録ボタンというオブジェクトがあったら、その処理はそのオブジェクトに書くべきで、フォームに書くのはおかしいでしょ

A 回答 (1件)

そのような「どこが処理を受け持つか」というのは以外と難しい問題です。



登録ボタンの本業を「登録すること」と捉えれば、その処理はボタンオブジェクトに持たせるべきとなるかもしれませんが、本業を「ボタンが押されたことを検知すること」とすれば、処理はその検知結果を受けとった側で行えばいいのでボタンオブジェクトの機能としては不要です。

特に最近はUIと処理を分けるのが主流です。
登録ボタンに登録処理を持たせるというのは主流からは外れます。


また言語仕様上の問題点があります。

一部言語には、オブジェクトにあとからメソッドを追加変更できるものもありますが、VB.Netにはありません。
機能付きボタンクラスをいちいち定義する必要があります。

また、登録機能はボタンだけで完結することはまずありません。
「登録ボタンを押したらTextbox1に入力された文字列を保存登録する」というのはよくあります。
現行の方法では、「フォームが」ボタンのクリックイベントを受けて「フォーム上の」Textbox1にアクセスするので特に問題は有りません。

登録ボタンオブジェクトで実現する場合には、ボタンオブジェクトがどうやってTextbox1にアクセスするかが問題になります。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A