C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: 複数の似たフォームの作成について
(過去ログ 56 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 6 記事 (1 - 6 表示)] <<
0
>>
■31564
/ inTopicNo.1)
複数の似たフォームの作成について
▼
■
□投稿者/ もこ
(1回)-(2009/01/23(Fri) 21:33:38)
分類:[VB.NET/VB2005 以降]
VB2008で開発しています。
私はパッケージソフトの開発を行っています。
そこで顧客の要望に合わせて、このパッケージソフトをカスタマイズしています。
その場合に、同じ画面であり、機能もほぼ同じであるが、
基本機能とは少し違う画面を作ることになります。
その場合に、今までは画面の呼び出しパターンに応じて、
ボタンの位置をずらしたり、不要なボタンを非表示にしたりするなどの
対応をしてきました。
プログラムの中でボタンの位置を変更したりすることは
なかなか地味に大変な作業であるため、非効率だなと思っております。
このような場合、皆様でしたら、どのようにフォームを作成されますでしょうか?
(1)複数のフォームを作成して、各処理をなるべくクラスで行いますか?
(2)それともフォームの継承を使って、うまく処理されるのでしょうか?
私は(1)がいいのかなと思っているのですが、
何かよい方法がございましたら、ご教示ください。
よろしくお願いいたします。
引用返信
編集キー/
編集
■31566
/ inTopicNo.2)
Re[1]: 複数の似たフォームの作成について
▲
▼
■
□投稿者/ 倉田 有大
(426回)-(2009/01/23(Fri) 22:06:31)
ケースバイケースだとおもいます。
よく使う処理はもちろんクラスにまとめます。
フォームの継承は、あまり使わないとおもいますが・・
引用返信
編集キー/
編集
■31567
/ inTopicNo.3)
Re[1]: 複数の似たフォームの作成について
▲
▼
■
□投稿者/ まどか
(601回)-(2009/01/23(Fri) 22:17:55)
仕様によるとしか言いようが無いので、一般的な答えは無いと思います。
> プログラムの中でボタンの位置を変更したりすることは
> なかなか地味に大変な作業であるため、非効率だなと思っております。
地味で大変であっても、それが仕様なら必要な作業でしょう。
コードの構造化など保守性等を考慮して工夫するしかないです。
> (1)複数のフォームを作成して、各処理をなるべくクラスで行いますか?
その「各処理」が業務仕様ならクラスへ抽象化するのよくありますが、
コントロールなどUIに関するものは、継承コントロールやユーザーコントロールという方向性が多いです。
もしコントロール型を引数に持つメソッドを外出しにするような場合、
DBから決まった書式でコンボボックスへリスト構築する、などの「システム全体の共通仕様」であることが多いと思います。
> (2)それともフォームの継承を使って、うまく処理されるのでしょうか?
継承はis Aで表現されるように等価である必要があります。
したがって、個々の仕様に対して継承関係であるということが前提になり、かつそれが満たされれば、じゃぁ継承を用いるかという流れになります。
なので一般的な答えはありません。
引用返信
編集キー/
編集
■31572
/ inTopicNo.4)
Re[2]: 複数の似たフォームの作成について
▲
▼
■
□投稿者/ やじゅ
(914回)-(2009/01/24(Sat) 09:03:23)
2009/01/24(Sat) 09:04:58 編集(投稿者)
>プログラムの中でボタンの位置を変更したりすることは
>なかなか地味に大変な作業であるため、非効率だなと思っております。
>
>このような場合、皆様でしたら、どのようにフォームを作成されますでしょうか?
>(1)複数のフォームを作成して、各処理をなるべくクラスで行いますか?
>(2)それともフォームの継承を使って、うまく処理されるのでしょうか?
フォームの継承を使うのは、複数のフォームに共通要素がある場合で
その共通要素を「基本フォーム」にまとめて、残りの個別の要素を
各フォームに実装するのが一般的かな。
その機能を継承することで、保守性や効率がいいと考えるならする。
(画面が単純に似ているからといって、その度に継承元フォームを幾つも作成したりはしない)
フォームにビジネスロジックを含まないように作成するべきなので、
ビジネスロジック部はそもそも別クラスで分けておくといい。
引用返信
編集キー/
編集
■31575
/ inTopicNo.5)
Re[1]: 複数の似たフォームの作成について
▲
▼
■
□投稿者/ .SHO
(560回)-(2009/01/24(Sat) 13:36:18)
> プログラムの中でボタンの位置を変更したりすることは
> なかなか地味に大変な作業であるため、非効率だなと思っております。
いちいちクラスを作ったりフォームの継承したりするように変更する事を
考えると、それほど大変な作業にも思えないのですが・・・
いつも変更する箇所を1つのソースの1箇所に集めるように
リファクタリングするぐらいかな。
もう、されてるかも知れないですけど。。。
引用返信
編集キー/
編集
■31631
/ inTopicNo.6)
Re[2]: 複数の似たフォームの作成について
▲
▼
■
□投稿者/ もこ
(2回)-(2009/01/26(Mon) 14:42:38)
皆様ご回答ありがとうございます。
フォームの継承は行わないことにしました。
ビジネスロジックだけをクラスに抜き出しまして
中身の処理は、うまく分岐させて作ることにしました。
コントロール型の引数を渡して、
外部で処理させるようなこともしないようにします。
なるべく制御部分を簡潔にできるように
工夫してプログラミングするように致します。
大変参考になりました。
ありがとうございました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-