プロセス間通信かもしれない
- 題名: プロセス間通信かもしれない
- 著者: クイーン・オブ・ザイヤー
- 日時: 2009/11/01 0:00:19
- ID: 25706
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: プロセス間通信かもしれない
- 著者: Azulean
- 日時: 2009/11/01 2:02:57
- ID: 25707
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: プロセス間通信かもしれない
- 著者: Azulean
- 日時: 2009/11/01 2:05:40
- ID: 25708
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: プロセス間通信かもしれない
- 著者: クイーン・オブ・ザイヤー
- 日時: 2009/11/03 8:46:22
- ID: 25711
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[4]: プロセス間通信かもしれない
- 著者: クイーン・オブ・ザイヤー
- 日時: 2009/11/06 7:46:39
- ID: 25733
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[5]: プロセス間通信かもしれない
- 著者: クイーン・オブ・ザイヤー
- 日時: 2009/11/25 4:49:12
- ID: 25910
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
やはり、ここしかありません。
3年ぶりくらいの投稿になります。
今回、ファイルエクスプローラならぬアイテムエクスプローラのようなものを
作ろうと考えています。
そうです、ほとんどの皆さんが想像にたやすい、平凡なアプリだと思います。
どんなものかだいたいイメージできると思いますが、念のため、
どういうアプリをイメージしているか簡単に説明します。
Windows OS のエクスプローラが様々なファイルを管理しているように、
ここでは、様々な種類の(異なるクラスの)インスタンスを管理します。
(したいです。)
□・・・フォルダ
△・・・アイテム(様々な種類のアイテムがある)
□−□−△
| |
| −□−△
| |
| −△
|
−△
基本的には、□(フォルダ)が階層構造になっていて、
ところどころに△(アイテム)が存在する、という形です。
一つの□(フォルダ)に異なる種類の△(アイテム)が存在することもあります。
ここで、△(アイテム)を選択して、右クリックメニューなどから「編集」を
実行すると、その△(アイテム)の種類(クラス)に応じたエディタが起動し、
アイテムの詳細を編集できるようにしたいと思っています。
つまり、
1.このアイテムエクスプローラでアイテムを選ぶ
2.選ばれたアイテムの種類(クラス)に応じた、適切なエディタを起動させ、
アイテムを編集する。
という一連の操作を行いたいと思っています。
このアイテムエクスプローラでは、今後、様々な種類のアイテム
(様々なクラスのインスタンス)をアイテムとして持たせる予定です。
そのため、エクスプローラ的な使い方をする部分
(フォルダに分けて管理する機構)と、エディタ的な使い方をする部分
(アイテムを編集する機能)を切り放しておけば、
新しい種類(クラス)のアイテムを追加する作業が単純明快になります。
(なるといいな、と思った程度です)
具体的には、アイテムエクスプローラのプロジェクトにクラスファイルを追加し、そのクラスアイテムが選択されたときのコード(エディタを呼び出すコード)を追加、そしてそのクラス用のエディタプロジェクトの追加だけで済みます。
この手順さえ理解していれば、アイテムエクスプローラのソースコードを
見返す必要がほぼなくなります。
このような意味で、エクスプローラ的機能とエディタ的機能の結合度をできるだけ低くしたいと思っています。
なお、アイテムエクスプローラは、全てのフォルダ・アイテムのデータを一つの
ファイルにまとめて HDD 上に持たせる予定です。アイテムのエディタにデータを受け渡す際は、アイテムエクスプローラ上で保持しているインスタンスを渡すといったイメージに近いです。なぜなら、一つのアイテムデータを Windows OS が認識できる一つのファイル、という形で表に出したくないからです。
全ての情報がつめこまれたファイルを一つだけ持ち、あとはアプリがそこにアクセスして色々な処理を内部的に行う、という形をイメージしています。
ファイル=環境というイメージで、環境の管理(バックアップ、外部ディスクへの移動など)を容易にしたいためです。
その環境(ファイル)を元に、アイテムエクスプローラがフォルダ・アイテム構造を再現し、そこから、アイテム毎に詳細の編集などを別エディタが行う、と
いったイメージです。
エクスプローラ的機能とエディタ的機能は、結合度を低くしたいのですが、扱うデータはエクスプローラ的機能が全体を一箇所にまとめて管理している、といった感じです。
ネットを一回りしてきた感想は、いろいろな方法があり、
頭が暴発しそうで適した方法を選べませんでした。
どのような手段で実装するのが最もスムーズか、
知識・見識・胆識のある方、ご教授いただけないでしょうか。
無いとは言わせない的な言い方になってしまってすみません。