- PR -

EXEの開発スタイル

1
投稿者投稿内容
パンダ
ベテラン
会議室デビュー日: 2004/03/24
投稿数: 59
投稿日時: 2004-04-05 16:27
皆様はEXEとフォームの関係をどのようにして開発しているでしょうか?私はVB時代に@1つのEXEで複数のフォームを含める方法(開発プロジェクトで主として1つのEXEしか作らない)と、A主として1画面1EXE(開発プロジェクトで複数のEXEが作成される)の2つの方法で開発をしていました。.NETになってどのように開発したら良いか悩んでいます。どなたかアドバイスを頂けないでしょうか?上記以外の方法や上記の方法の.NETにおけるメリットとデメリットを教えて頂ければ助かります。
maru
常連さん
会議室デビュー日: 2001/10/09
投稿数: 23
投稿日時: 2004-04-05 16:43
こんにちは、参考になれば幸いです。
起動用のExeを作り、その他は1画面1DLL(プロジェクト)で開発してます。
考えたことは以下の2点です。
・1つのEXEが大きくなる点を回避する
・画面間の連携をしやすくする(コマンドライン引数に頼らない)
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-04-05 20:08
アプリケーション内に存在する全てのオブジェクト同士の関係を図などにして眺めてみると、関係がになってゴチャっと固まったもの(房:cluster)がいくつかと、その固まり間のな関係が発見できると思います。
例えば社員の給与管理システムでは、フォーム,ボタン,テキストボックスなどの固まりがあったり、社員,会社,支店などの固まり、そしてテーブル,行,列などの固まりが見つかります。

それぞれの固まりは、ある視点からアプリケーションを見た時にオブジェクトと認識できる、そのオブジェクトの集まりになっています。
そして固まりにはそれぞれ使命があります。
例えば「フォーム,ボタン,テキストボックスなどの固まり」であればユーザーとの情報のやりとりですし、「テーブル,行,列などの固まり」であれば、データの永続化です。
「社員,会社,支店などの固まり」は、その会社の給与管理の仕組みそのものを表します。

固まりの中で実際にどのように使命の機能を実装しているかは、その固まりの外のオブジェクトからは気にしません。
例えば、「フォーム,ボタン,テキストボックスなどの固まり」であれば、ユーザーとの情報のやりとりさえできればFormを使おうが文字ベースで入出力させようがブラウザでユーザーとやり取りしようがDBのテーブルには関係のないことですし、ユーザーインターフェースが変わったからといって給与管理の仕組みが変わるわけではありません。
「テーブル,行,列などの固まり」がデータを永続化させるのにデータベースを使おうがXMLのファイルに保存しようがメモリ上に取っておこうが、テキストボックスや支店オブジェクトには関係がないということです。

それぞれの固まりを、ドメインという袋に入れて中と外を区別します。
あるオブジェクトが2つのドメインに属するということはありません。
そしてドメインが、他のドメインに提供するサービスと他のドメインから提供してもらうサービスというものを洗い出します。
例えば、給与管理ドメインはユーザーインターフェースドメインに「社員の一覧の取得」というサービスを提供しますし、データ永続化ドメインからは「プログラムを前回終了した時の社員のデータを取得」というサービスを提供されます。



え〜・・・つまり「深い関係をもつオブジェクトをまとめましょう」ということなんですが・・・
何でこんなに長くなったんだ?

[ メッセージ編集済み 編集者: 一郎 編集日時 2004-04-05 20:11 ]
1

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