Laut UML Superstructure Specification, v2.4 gibt es zwei verschiedene Notationen für Schnittstellen in UML-Klassendiagrammen. Eine davon ist die übliche Box mit "Interface" Wort und Name oben und eine andere ist ein Cirle mit dem Namen oben (Onkel Bob nennt es Lollipop).
Die Frage ist - wann sollte ich Kreisnotation verwenden? Ist es für Situationen geeignet, in denen die Klasse, die diese Schnittstelle unterstützt, nur öffentliche Methoden in der Schnittstelle definiert hat? Wenn also nur eine Schnittstelle verwendet wird, ist die in der Schnittstelle eingestellte Methode offensichtlich, und vielleicht könnte ich diese Kreisnotation verwenden. Hilf mir bitte damit. Spezifikation ist ziemlich klar über Halbkreisnotation, aber nicht über Kreis.Wann sollte ich die Kreisnotation für Schnittstellen verwenden?
0
A
Antwort
2
Es ist nur eine Frage des Geschmacks. Beide Bezeichnungen (Lollipop und Rechteck mit Stereotyp) sind austauschbar und haben die gleiche Semantik.
Da jedoch die rechteckige Notation Operationen anzeigen kann, ist es bevorzugt, wenn Sie sie anzeigen müssen. Ansonsten verbrauchen die Lutscher weniger Platz, was in anderen Fällen bevorzugt wird.
Verwandte Themen
- 1. Wann sollte ich LINQ für C# verwenden?
- 2. Wann sollte ich Threads verwenden?
- 3. Wann sollte ich RESTful verwenden?
- 4. Wann sollte ich ConcurrentSkipListMap verwenden?
- 5. Wann sollte ich die using-Anweisung verwenden?
- 6. Wann sollte ich die ACCESS_COARSE_LOCATION-Berechtigung verwenden?
- 7. Wann sollte ich getElementById verwenden?
- 8. Wann sollte ich die Datensatzsyntax für Datendeklarationen in Haskell verwenden?
- 9. In Jira Agile wann sollte ich eine "Story" verwenden und wann sollte ich eine "Verbesserung" verwenden?
- 10. Wann sollte ich vorbereitete Anweisungen genau verwenden?
- 11. Wann sollte ich ein ORM-Framework verwenden?
- 12. Sollte ich Schnittstellen für meine Entitäten machen?
- 13. Wann sollte ich eine Objektdatenbank verwenden?
- 14. In Objective-C, wann sollte ich Klassenmethoden verwenden und wann sollte ich Instanzmethoden verwenden?
- 15. Wann sollte ich MonadState Linsenkombinatoren verwenden?
- 16. Wann sollte ich __forceinline anstatt inline verwenden?
- 17. Wann sollte ich den Git Stash verwenden?
- 18. Wann ich ServiceTracker vs ServiceReference verwenden sollte
- 19. Wann sollte ich aov() und wann anova() verwenden?
- 20. Wann sollte ich poppler_page_render vs poppler_page_render_for_printing verwenden?
- 21. Wann sollte ich AUTOLOAD von Perl verwenden?
- 22. Wann sollte ich # in ColdFusion verwenden?
- 23. Wann/warum sollte ich eine Datenbank verwenden?
- 24. Wann sollte ich React.cloneElement vs this.props.children verwenden?
- 25. Wann sollte ich user.get_profile in django verwenden?
- 26. Isolationsstufe - serialisierbar. Wann sollte ich das verwenden?
- 27. Wann sollte ich @JoinColumn oder @JoinTable verwenden?
- 28. Wann sollte ich Klammern in Knockout verwenden
- 29. Wann sollte ich statische Methoden verwenden?
- 30. Wann sollte ich routes.php in Octobercms verwenden?