Ein paar getrennte Punkte:
.NET Framework nicht eine Klassenbibliothek ist. Es ist ein Framework. Es ist eine Reihe von Typen, die nicht nur Funktionalität bieten, sondern auch um Ihren eigenen Code erweitert werden können.Zum Beispiel bietet es Ihnen die abstrakte Klasse Stream
und mit konkreten Implementierungen wie die NetworkStream
Klasse, aber es bietet Ihnen auch die WebRequest
Klasse und die Möglichkeiten, es zu erweitern, so dass WebRequest.Create("myschema://host/more")
eine Instanz Ihrer eigenen Klasse hervorbringen kann WebRequest
, die ihre eigene GetResponse
Methode haben kann, die ihre eigene Klasse zurückgibt, die von WebResponse
abgeleitet wird, so dass das Aufrufen von GetResponseStream
Ihre eigene Klasse zurückgibt, die von Stream
abgeleitet wird!
Und Ihre Anrufer müssen nicht wissen, dass dies hinter den Kulissen geschieht! Ein separater Punkt ist, dass für die meisten Entwickler das Erstellen einer wiederverwendbaren Bibliothek nicht das Ziel ist und nicht das Ziel sein sollte. Das Ziel sollte sein, den Code zu schreiben, der notwendig ist, um Anforderungen zu erfüllen. In diesem Prozess kann wiederverwendbarer Code gefunden werden. In diesem Fall sollte es in eine separate Bibliothek ausgelagert werden, in der es in Zukunft wiederverwendet werden kann.
Ich gehe weiter (wenn erlaubt). Ich werde normalerweise warten, bis ich zwei Teile des Codes finde, die das gleiche tun oder sich überschneiden. Vermutlich haben beide Codeteile alle ihre Komponententests bestanden. Ich werde dann den gemeinsamen Code in eine separate Klassenbibliothek ausrechnen und alle Komponententests erneut ausführen. Unter der Annahme, dass sie noch bestehen, habe ich mit der Erstellung von wiederverwendbarem Code begonnen, der funktioniert (da die Komponententests immer noch bestehen).
Dies steht im Gegensatz zu einer Lektion, die ich in der Schule gelernt habe, als das Ergebnis eines ganzen Projekts eine schöne wiederverwendbare Bibliothek war - ohne Code, um es wiederzuverwenden.
(Natürlich, ich bin sicher, dass es funktioniert hätte, wenn jeder Code hat es verwendet ...)
Absolut richtig. In diesem Buch erfahren Sie, wie Sie hoch wiederverwendbare Frameworks erstellen sollten. –