IDictionaryist eine Schnittstelle und Dictionaryist eine Klasse.
DictionaryGeräte IDictionary.
Dies bedeutet, dass es möglich ist, Dictionarymit / nach IDictionaryInstanz auf eine Instanz zu verweisen und die meisten DictionaryMethoden und Eigenschaften über eine IDictionaryInstanz 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 dictionaryruft 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 RedBlackTreeimplementiert wird, IDictionarywird 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.