Jul
29
Geneseo Middle School
Jul
29
Das Designmuster basiert auf den Grundprinzipien des objektorientierten Designs. Diese Kategorie von Vertragsmustern beinhaltet die Verwendung von visuellen Elementen innerhalb des Vertrags, um die Benutzererfahrung und Effektivität des Dokuments zu verbessern. Die Visuals können dazu dienen, Begriffe zu veranschaulichen, um Klarheit in Verbindung mit dem Text zu gewährleisten. Oder es handelt sich um Navigationsmarkierungen, die einem Benutzer helfen, relevante Teile eines längeren Dokuments zu finden und zu verstehen. Visuals können auch einen Begriff selbst darstellen, der Grafiken anstelle von Text verwendet, um die vereinbarte Angelegenheit darzustellen. Auf dieser Seite werden wir Muster katalogisieren, die in Verträgen verwendet werden. Wir haben eine Handvoll Prototypversionen von Vertragsmustern. Bitte erkunden Sie sie, hinterlassen Sie Feedback im Kommentarbereich unten und reichen Sie Ihre eigenen Ideen für Muster ein, von denen Sie denken, dass sie in die Bibliothek aufgenommen werden sollten. In diesem Blogbeitrag werde ich verschiedene Anwendungsfälle des toleranten Lesermusters untersuchen, um Ihnen ein gründlicheres Verständnis zu geben, wie Sie damit in der Praxis umgehen können. Der Einfachheit halber gehe ich davon aus, dass Daten mit JSON ausgetauscht werden. Bisher habe ich die Aspekte des toleranten Lesermusters in Bezug auf die nutzlastenden Daten, die vom Verbraucher gelesen werden, behandelt.
Während es unter diesem Gesichtspunkt am besten scheint, so wenige Daten wie nötig zu lesen und den Rest zu ignorieren, führt dies oft zu einem speziellen Fall der Kopplung, der sich speziell auf REST-APIs bezieht. Anwendungen, die REST-APIs verwenden, verwenden selten nur einen einzelnen API-Endpunkt, sondern interagieren auf unterschiedliche Weise mit API-Anbietern. HTTP-Verben helfen beim Unterscheiden des allgemeinen Betriebstyps beim Zugriff auf APIs. Der Kontext ist jedoch absichtlich sehr begrenzt, d. h. auf eine einzige Ressource fokussiert. Obwohl zuerst mit Bezug auf TCP/IP angegeben, wurde das Gesetz in vielen anderen Bereichen angewendet. Martin Fowler leitete daraus das Service-Design-Muster ab, das am häufigsten als toleranter Leser bekannt ist. Das Muster konzentriert sich auf die Zusammenarbeit von Dienstleistungen und die Verträge, die sie in Bezug auf ihre APIs miteinander teilen.
Die Entwicklung dieser APIs sollte bestehende API-Verbraucher niemals gefährden und somit die Abwärtskompatibilität sicherstellung. Doch um dies zu erreichen, müssen nicht nur API-Anbieter sicherstellen, dass sie den Vertrag nicht brechen, sondern auch API-Konsumenten müssen Daten tolerant lesen. Manchmal haben die Muster ihren Preis. Das Wickelmuster hat das Gewicht eines WIKISPEED-Autos um 8 kg aufgestockt, z.B. durch Hinzufügen einer zusätzlichen Aluminiumplatte zwischen dem Chassis und der Federung. Methoden geben in der Regel NULL- oder ungeprüfte Ausnahmen zurück, wenn Fehler bei der Programmierung nach Vertragsumgebung auftreten. In diesem Beitrag ging ich Sie durch die verschiedenen Aspekte des toleranten Lesermusters, angefangen beim einfachen Ignorieren zusätzlicher JSON-Attribute bis hin zum Umgang mit Enumerationen und Typdiskriminatoren und schließlich mit dem Kontext einer Ressource, indem ich (oft unterschätzt) Hypermedia-Links verwende. Während der tolerante Reader im Allgemeinen auf das Lesen so wenig Wiege reduziert werden kann, lohnt es sich auch, zu bezeichnen, dass kontextbezogene REST-Operationen als Metainformationen hinzugefügt werden sollten, um API-Endpunktänderungen in der Zukunft zu ermöglichen.