- - PR -
別クラス間でオブジェクト参照を渡す方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-08-25 18:58
あるアプリケーションのアドインを開発において、アドインとのインターフェースを各クラスに実装(Implements IAction)しています。各クラスは、アプリケーションから呼ばれたときにインスタンス化されます。
Public class AA Implements IAction End Class Public class BB Implements IAction End Class クラスAAでDB接続を行い、そのセッションを共有して、Class BBでDB検索を行いたいのですが、その方法が判りません。 そもそも可能なのかどうかも判りません。何か手がかりでも頂けると助かります。 |
|
投稿日時: 2007-08-25 21:00
BBがAAの接続リソースの参照を持っていれば可能なのはわかるかな?
ん?セッション?ASP.NETかい? |
|
投稿日時: 2007-08-25 22:43
アドインということなので
App.exe、AA.dll、BB.dll という前提で書きます。 #ポイントはAAとBBが独立した別物だということ。 単純にコネクションを共有するためには、既出のように参照を知りえることが出来ればよいですが ポイントは、 アドインであること、コネクションであること、共有の意味と目的 になるでしょう。 アドインであるということは、その機能が独立して単独で動作し、依存はアプリケーションのみがベストです。 今回のように拡張の拡張という場面もあるでしょう。その場合はアドイン間のI/Fを作ることになるでしょう。 ただ、結局AAとBBをまとめてひとつにするというオチになる可能性のほうが多いかもしれません。 それよりコネクションなので、何のために共有するのかで適切な方法やその必要性が変わってきます。 詳細な仕様がわかりませんが、アドイン間で連携するのは不適切だと思います。 やるならアプリケーションがコネクションインスタンスを管理し、それぞれのアドインがそれを利用するという方法でしょうか。 #理由はコネクションがトランザクションなどOpenからCloseまでそれ自身に意味があるからです。 いずれにしろ共有の目的がポイントです。 結果として、アドインとしてのあるべき姿の崩壊、保守性の低下を招くと本末転倒です。 [ メッセージ編集済み 編集者: まどか 編集日時 2007-08-25 22:44 ] [ メッセージ編集済み 編集者: まどか 編集日時 2007-08-25 22:48 ] |
|
投稿日時: 2007-08-26 08:14
まどかさん、ぶさいくろうさん
コメントありがとうございます。 まどかさんの仰るように、本来アプリケーションを補完する目的のアドインなので、アドイン間での連携と言うのは、良くないのかも知れませんね。 別な方法を考えることにします。ありがとうございました。 |
|
投稿日時: 2007-08-27 09:21
BBが共有するAAというのはどうやって判断するんでしょうか。
同じアプリケーションドメイン内のAAということですか。 それなら静的(VBではShared)変数に入れておけばいいんじゃないでしょうか。 |
1