疎結合の使用以外のプロジェクトでのインターフェイスの使用は何ですか? 引数として渡している間にメモリ使用量が減少しますか? アドバイスを深く挙げてください。疎結合の使用以外のプロジェクトでのインターフェイスの使用はどのようなものですか?
0
A
答えて
1
..あなたはインターフェイスを使用する理由を理解するのに役立つwhihc例をOOPするために見て、特別Design pattern
べきだと思います。私がIShapeのコレクションを持っていて、IShapeがCalculateArea()
メソッドを提供しているならば、私はIShapeの新しい実装を追加することで、プロジェクトに新しいシェイプを提供できます。だから、これはthe open/closed principleに従うことによってより疎結合を提供しています。しかし、それはまた、それが特定のIShapeを知る必要なく、クライアントによって抽象的に扱われることを可能にしています。
多態性はオブジェクト指向設計にとって基本的なものであり、インターフェイスはこれを実現する方法(もう1つは継承)です。
私はまた、そのインターフェイスの実装は、コードの意図の点で表現力がある傾向にあると思います。私のようないくつかの宣言がある場合: - 私ができるよりも、私は単にクラスの詳細のどこかにその機能を埋めた場合よりそう
public class Foo : IDisposable, IPersistMyselfToDisk, IRaiseUpdateEvents
を私は一目でクラスとそれがないについて多くを伝えることができます。繰り返しますが、これはある程度のデカップリングに戻りますが、それ自体でもあります。
デカップリングは、結合と疎結合のクラスを提供することは、状態と動作のクラスを持つOOPにとって基本的なものであるため、インターフェイスを使用することのすべてのメリットが詰まっていることがわかります。
2
私はインターフェイスへのプログラミングにもう一つの重要な利点は、それが多型のための手段を提供することである
関連する問題
- 1. NoSQLプロバイダを疎結合するためのインターフェイスの使用
- 2. リーフレットマップの使用ポリシーはどのようなものですか?
- 3. clangのuint24_tはどのように機能しますか? clang/LLVM以外でも使用できますか?
- 4. イベントハンドラ以外の変数はどのように使用できますか?
- 5. プレロードイメージ以外のものを使用
- 6. データバインディングとインターフェイスの使用とはどのように違うのですか?
- 7. モカ以外にチャイとどのようなテストフレームワークを使用できますか?
- 8. レール以外のプロジェクトでレールコンソールを使用するにはどうすればよいですか?
- 9. Kinectアプリケーションでのスケルトン、ジェスチャーの使用はどのようなものですか?
- 10. Laravelでの$ _SESSIONの使用laravel以外のプロジェクト
- 11. スプリングフレームワークを使用して、どこで疎結合を達成できますか?
- 12. .netでのジェネリックの実用的な使用(フレームワークのもの以外)
- 13. sqlalchemyの結合と共用はどのように使用しますか?
- 14. DataSourceTransactionManagerとJndiObjectFactoryBeanとJdbcTemplateの使用は何ですか?どのような以下の使用である
- 15. コントローラ内のソフトウェアウォッチドッグの使用はどのようなものですか?
- 16. EJB3でキー以外の複合要素を使用するにはどうすればよいですか?
- 17. 「リソース」以外のものでtry-with-resourcesを使用する
- 18. wpf以外のプロジェクトでDLLを使用できません
- 19. MVC以外のプロジェクトでMvcMailerを使用する
- 20. GWT MVPでHasClickHandlers以外のものを使用
- 21. 大きなサイズのパンダのデータフレーム(5〜20GB以上)には、「左外部結合」を使用するにはどうすればよいですか?
- 22. FIND以外でのmtimeの使用
- 23. メインスクリプト以外でのPythonマルチプロセスの使用
- 24. ArrayListでのインターフェイスの使用
- 25. TDD以外の疎結合コードには他にも利点がありますか?
- 26. なぜPython以外でtryを使用するのですか
- 27. どのようにUI以外のデリゲートやイベントを使用しますか?
- 28. 既存のプロジェクトでtomcatをどのように使用するのですか?
- 29. どのような場合でもsys.modules ['__ builtin__']を使用してデータを保存するのは誰ですか?
- 30. AS3 - ルートクラス以外のステージを使用できないのはなぜですか?
これは宿題に関する質問ですか? (また、それ自体のインターフェイスは、メモリやCPUのパフォーマンスにほとんど影響を与えません) – millimoose
あなたはウェブ上で多くの説明を見つけることができます、単に "プログラミングインターフェイスの利点" ... http:// stackoverflowの複製。 com/questions/1035632/what-are-some-advantages-using-interface-in-c – ken2k
_アドバンテージは深くあなた自身の簡潔な質問に従って少し誇張です。 –