IDictionary
ist eine Schnittstelle und Dictionary
ist eine Klasse.
Dictionary
Geräte IDictionary
.
Dies bedeutet, dass es möglich ist, Dictionary
mit / nach IDictionary
Instanz auf eine Instanz zu verweisen und die meisten Dictionary
Methoden und Eigenschaften über eine IDictionary
Instanz aufzurufen .
Dies wird dringend empfohlen, um so viele Schnittstellen wie möglich zu verwenden, da Schnittstellen die Module und Baugruppen der Anwendungen abstrahieren, Polymorphismus ermöglichen, der in vielen Situationen und Fällen sowohl sehr häufig als auch nützlich ist und das Ersetzen eines Moduls durch ein anderes ermöglicht, ohne die anderen Module zu berühren .
Angenommen, der Programmierer hat in der Gegenwart geschrieben:
IDictionary<string> dictionary = new Dictionary<string>();
Und dictionary
ruft jetzt die Methoden und Eigenschaften von auf Dictionary<string>
.
In der Zukunft haben die Datenbanken in der Größe gewachsen, und wir erfahren, dass Dictionary<string>
zu langsam, so dass wir ersetzen wollen Dictionary<string>
durch RedBlackTree<string>
, was schneller ist.
Alles, was getan werden muss, ist, die obige Anweisung zu ersetzen durch:
IDictionary<string> dictionary = new RedBlackTree<string>();
Wenn dies RedBlackTree
implementiert wird, IDictionary
wird der gesamte Code der Anwendung erfolgreich kompiliert und Sie haben eine neuere Version Ihrer Anwendung, in der die Anwendung jetzt schneller und effizienter als die vorherige Version ausgeführt wird.
Ohne Schnittstellen wäre dieser Austausch schwieriger und würde von den Programmierern und Entwicklern erfordern, mehr Code zu ändern, der möglicherweise fehleranfällig ist.