私は全体の "インターフェイスへのプログラミング"方法論に固執しようとしており、インターフェイスを使用して私のWindowsフォームアプリケーションでいくつかの別個のアクションを構成したいと考えていました。インターフェイスを使用して継承を構造化する手助けが必要ですか?
基本的に、私は私がダウンして伝播するでしょうIActions上のexecute()メソッドを持っていると思ったこの
IActions
|----------------------------------------|
IValidateAction IExecuteAction
|----------------------| |----------------------|
IIis6Validate IIis7Validate IIis6Actions IIis7Actions
| |
|--------------------| |---------------------|
ValidateWebCreation CreateWebsite
ように決裂した構造を有しています。私は基本的な抽象クラスでそれを行うことができると知っていますが、再び「インターフェイスへのプログラム」方法論に従いたいと思っていました。(インターフェイス)のインスタンスを注入するというアイデアが好きで、いつでもオブジェクトがそのオブジェクトが同じ基本インターフェースから継承されている間は長くなります。
しかし、私はあなたがインターフェイスからのクラス継承を持っている時に実施契約は別のインターフェイスを継承するインタフェースにadhererいないことが判明。私はまた、InterfaceBがInterfaceAと互換性がある限り、別の投稿を読んだ。これはここに当てはまりますか?
このツリーは使用できますか? クラスの継承を使用するか、このツリーを別のツリー構造に分割する必要がありますか?別のインターフェイスから継承するインタフェースについて
FYIの「プログラミングインタフェース」は、現代のプログラミング言語ではわかっているように、インタフェースを意味するものではありません。 「インタフェース」は、クラスのパブリックメソッドとプロパティです。インターフェイスへのプログラミングは、通常、クラスの階層を意味し、それを使用するコードでは、具体的な具体的なクラスではなくインターフェイスするようにプログラミングします。つまり、定義する変数は基本クラスの型ですが、作成するインスタンスは子孫のいずれかになります(したがって、多態性が可能になります)。 –
インターフェイスと「契約」に関しては、http://blogs.msdn.com/b/kcwalina/archive/2004/10/24/246947.aspx –