10 Möglichkeiten, Ihre Software Architecture Design zu verbessern

Was ist der beste Weg vom Prototyp bis zur Produktion Code zu bekommen? Wenn ein ziemlich großer und schwieriger Aspekt des Projektes erfolgreich Prototyp wurde, zerreißt es und Umkodierung es in „Produktionsmodus“ schwierig erscheinen würde, aber nur einen gehackten-up Prototyp in Produktionscode fallen endet die Dinge schwierig zu warten. Es wäre die schönsten Ansatz scheinen mag den Prototyp gut genug zu übernehmen, die Dinge zu bekommen in einem „echten“ System arbeitet so der Kunde damit spielen kann, aber tun dies in einer Weise, dass der Code Prototyp kann schrittweise Refactoring werden; dies scheint nie so gut zu arbeiten, wie ich hoffe, würde, wenn. Irgendwelche Vorschläge?






Sie haben wirklich die Erwartungen des Kunden in Bezug auf Prototypen zu verwalten. Es hängt völlig ab, wie Sie den Prototyp eingeführt? Wenn Sie es als ein tatsächlicher Prototyp eingeführt, schnelles Feedback zu bekommen, besser Zeitschätzung oder Performance-Validierung tun werde ich nicht denken, dass die reale Produktionsversion zu schaffen wäre ein Problem. Wenn Sie es nicht klar up-front gemacht haben, was ein Prototyp ist, dann wird es schwierig. Der Kunde sieht eine funktionierende Anwendung und sagen Sie ihm, dass Sie es wieder von vorn zu tun haben.







Ist das nicht das, was die Open-Close Prinzip der festen Prinzipien dreht sich alles um? So fügen Sie Art ein neues Modem müssen Sie die Basisklasse ändern? Der Refactoring „Switch to Polymorphism“ es der perfekte Kandidat für diese Art von Problemen mit Polymorphismus siehe Ersetzen Conditional. Es gibt mehrere SOLID Ressourcen um zum Beispiel der feste Gegenstand SOLID auf meinem Blog zu sehen.

So fügen Sie Art ein neues Modem müssen Sie die Basisklasse ändern?

Um das Beispiel etwas konkreter zu machen, nehme an, dass es Einheiten in dem Gebiet, dass „Telefon“ in über eine Vielzahl von Mitteln. Das ursprüngliche Software-Design kümmert sich nicht darum, ob ein Gerät über ein Modem verbindet, TCP, USB oder andere Mittel.

Später wird es entdeckt, dass Einheiten, die ein Acme-457 Revision One, Modem verwenden, sind nicht in der Lage, bestimmte Aktionen zuverlässig auszuführen, während eine Verbindung aktiv ist. Wenn eine andere Art der Verbindung verwenden, oder Vielzahl von Modem oder sogar Revision der Acme-457, gibt es keine Schwierigkeit, den Befehl mit einer aktiven Verbindung durchzuführen.

Wenn die besondere Schwierigkeit bei der Acme-457 war erwartet worden, die Kommunikationsbasisklasse und Anwendung konnte wurde von Anfang an so konzipiert, damit umzugehen. Auf der anderen Seite, exakt vorausgeschätzt, was besondere Probleme auftreten werden, ist oft schwierig oder unmöglich, bis ein Entwurf ins Feld ist.

Im Idealfall würde der Kommunikationsstandard von der Anwendungsschicht jegliche Variationen in dem Kommunikationsverfahren verbergen. Was sollte man tun, wenn eine solche Abstraktion unhaltbar wird?

Meine Stimme von 1

Es gibt nicht viel, aber ein paar Fachjargon.

Sieht gut aus!

Re: Sieht gut aus!

Vielen Dank für Ihr Feedback .







In Verbindung stehende Artikel