Hori,Masaki
masak****@users*****
2002年 11月 1日 (金) 20:36:13 JST
ども、堀です。
footashidaさんのおっしゃる通りです。
そちらの方がスマートだと思います。
ちょっと難しく考え過ぎたようです。
では、プロトタイプを待ってます。
もちろん、仕様を出して下さればこちらも協力させていただきます。
ではでは。
On 2002.11.1, at 01:35 AM, footashida wrote:
> こんにちは。footashidaです。
>
> 実装案、とってもスマートでいい感じだと思います。
> ありがとうございました。
>
> 各プラグインは、singletonの
> MainControllerのインスタンスを取得して、
> protocolで定義されているメソッドを通して本体の機能にアクセスする、
> といったやり方ですね。プロトタイプは、堀さん案をベースに作ってみましょうか。
>
> 1点だけ気になったのですが、これだとMainControllerの実装クラスが
> POPControllerやSMTPControllerのメソッドも実装しなければならないことに
> なりませんか?(勘違いだったらすみません)
> メソッドの数が多くなりすぎてしまうような気がします。
>
> というわけで、以下のようなインターフェースを考えてみたんですけど、
> いかがでしょうか?ご意見頂ければうれしいです。
>
> ようするに、MainControllerはPOPControllerなどの各種Controllerの
> インスタンスを返すメソッドを持ち、プラグインは直接POPControllerの
> インスタンスのメソッドにアクセスするというわけです。
>
> @protocol MainController
> -(id)popController; // POPControllerのインスタンスを返す。
> -(id)smtpController;// SMTPControllerのインスタンスを返す。
> -(id)anyController;// その他なんかのControllerのインスタンスを返す。
> @end
>
> ------SomePlugin.m-------
> // プラグインの某メソッド。中でPOPControllerのbarメソッドを呼び出す。
> -(void)foo{
> [[[NSApplication sharedMainController] popController] bar];
> }
>
> ではまた。