Smart UI, auch Smart User Interface (deutsch Elegante Benutzeroberfläche), ist ein Software-Entwurfs- bzw. -Entwicklungsmuster, bei dem eine grafische Benutzeroberfläche unter Zuhilfenahme eines GUI-Builders entworfen wird. Dabei platziert der Entwickler die Steuerelemente auf der Oberfläche und definiert sie als Auslöser für Ereignisse, die in einer zugehörigen Code-behind-Datei behandelt werden. Die Verwendung des Smart-UI-Musters ist unter anderem unter MFC, VB6, Windows Forms und ASP.NET Web Forms möglich. In der Regel wird beim Programmieren der Ereignisbehandlung im Rahmen des Smart-UI-Musters auf das Prinzip Separation of Concerns verzichtet. Daraus ergeben sich Nachteile für die Softwareentwicklung, vor allem hinsichtlich Wartbarkeit und Erweiterbarkeit; das Muster fördert die Entstehung von Spaghetticode. Diesbezüglich gilt das Muster auch als Anti-Pattern. Vorteilhaft ist das Smart-UI-Muster unter anderem insofern, als es eine vergleichsweise niedrige Hürde für Programmierneulinge darstellt und es für das Prototyping von Benutzeroberflächen verwendet werden kann. Die Nachteile des Smart-UI-Musters versuchen unter anderem die Architekturmuster Model View Controller und Model View ViewModel durch Schichtentrennung auszugleichen.

Literatur

Bearbeiten

📚 Artikel Terkait di Wikipedia

SQL

using the JavaTM programming language ISO/IEC TR 19075-4:2015 Part 4: SQL with Routines and types using the JavaTM programming language ISO/IEC TR 19075-5:2016

Mustersprache

Portland Pattern Repository so: “A set of patterns becomes a pattern language when each of its patterns, once solved, leads to more patterns that should

Scala (Programmiersprache)

mit Scala ist Pattern Matching. Im Gegensatz zu der switch-Anweisung, wie sie zum Beispiel in Java implementiert ist, arbeitet Pattern Matching nicht

Rust (Programmiersprache)

Rust Programming Language. Abgerufen am 17. Mai 2026 (amerikanisches Englisch).  Ralf Jung: Understanding and Evolving the Rust Programming Language. Abgerufen

Clojure

Bedra: Programming Clojure – Third Edition. Pragmatic Programmers, 2018, ISBN 978-1-68050-246-6. Rich Hickey: The Clojure programming language. In: Dynamic

Turing-Vollständigkeit

707574 (PDF Scan, PDF, HTML).  So etwa Bruce MacLennan: Principles of Programming Languages. Oxford University Press, New York 1999, ISBN 0-19-511306-3, S

Haskell (Programmiersprache)

Wadler: A history of Haskell: being lazy with class. In: Proceedings of the third ACM SIGPLAN conference on History of programming languages (= HOPL III).

C++

ISO/IEC 14882:2024 - Programming languages — C++. 19. Oktober 2024. ISO/IEC 14882:2014 – Information technology -- Programming languages -- C++. In: www.iso