Diese Frage dient lediglich dem Lernen und der Verbesserung meines technischen Verständnisses. Ich weiß, dass es keine perfekte Lösung gibt und diese Frage eine unendliche Lösungsliste hat, aber ich denke, es ist sehr wichtig, dass jeder Architekt den Unterschied zwischen Demo und einem Live-Projekt versteht.
Ich habe in der Vergangenheit viele Demolösungen in .Net erstellt. Ich wurde nun beauftragt, eine Weblösung auf Produktionsebene zu entwerfen und zu implementieren, und wollte daher auf sehr hoher Ebene fragen, was erforderlich ist, um eine Demo in eine Lösung auf Produktionsebene umzuwandeln. Nach meinem Verständnis erfordert dies (abgesehen von der funktionalen Umsetzung der Kundenanforderungen):
- Unit-Test jeder Methode
- Sicherstellen, dass eine Codeabdeckung von ~ 100% erreicht wird
- Protokollierung aller Ausnahmen und möglichen Punktschnitte - möglich mit AOP
- Verwenden des Schnittstellenentwurfsmusters, Abhängigkeitsinjektion, möglicherweise mithilfe eines Frameworks, z. B. spring.net
- Verwenden von Leistungsindikatoren und Profilern zur Instrumentierung
- Anwenden der entsprechenden Sicherheit - dh Windows-Authentifizierung (wenn dies vom Client verlangt wird).
- Transaktionsmanagement für jede einzelne Methode
- Sichern Sie die Webanwendungsdateien vor der neuen Bereitstellung der Lösung
Was sonst?
Meine Frage bezieht sich eher auf die technische Seite als auf die Funktion / Dokumentation, da wir sonst einen anderen Weg einschlagen werden :-)
Vielen Dank.