2012-02-13 3 views
0

疎結合の使用以外のプロジェクトでのインターフェイスの使用は何ですか? 引数として渡している間にメモリ使用量が減少しますか? アドバイスを深く挙げてください。疎結合の使用以外のプロジェクトでのインターフェイスの使用はどのようなものですか?

+0

これは宿題に関する質問ですか? (また、それ自体のインターフェイスは、メモリやCPUのパフォーマンスにほとんど影響を与えません) – millimoose

+0

あなたはウェブ上で多くの説明を見つけることができます、単に "プログラミングインターフェイスの利点" ... http:// stackoverflowの複製。 com/questions/1035632/what-are-some-advantages-using-interface-in-c – ken2k

+2

_アドバンテージは深くあなた自身の簡潔な質問に従って少し誇張です。 –

答えて

1

..あなたはインターフェイスを使用する理由を理解するのに役立つwhihc例をOOPするために見て、特別Design patternべきだと思います。私がIShapeのコレクションを持っていて、IShapeがCalculateArea()メソッドを提供しているならば、私はIShapeの新しい実装を追加することで、プロジェクトに新しいシェイプを提供できます。だから、これはthe open/closed principleに従うことによってより疎結合を提供しています。しかし、それはまた、それが特定のIShapeを知る必要なく、クライアントによって抽象的に扱われることを可能にしています。

多態性はオブジェクト指向設計にとって基本的なものであり、インターフェイスはこれを実現する方法(もう1つは継承)です。

私はまた、そのインターフェイスの実装は、コードの意図の点で表現力がある傾向にあると思います。私のようないくつかの宣言がある場合: - 私ができるよりも、私は単にクラスの詳細のどこかにその機能を埋めた場合よりそう

public class Foo : IDisposable, IPersistMyselfToDisk, IRaiseUpdateEvents 

を私は一目でクラスとそれがないについて多くを伝えることができます。繰り返しますが、これはある程度のデカップリングに戻りますが、それ自体でもあります。

デカップリングは、結合と疎結合のクラスを提供することは、状態と動作のクラスを持つOOPにとって基本的なものであるため、インターフェイスを使用することのすべてのメリットが詰まっていることがわかります。

2

私はインターフェイスへのプログラミングにもう一つの重要な利点は、それが多型のための手段を提供することである

関連する問題