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
- Adam Freeman: Pro ASP.NET MVC 5, Apress, New York 2014, ISBN 978-1-4302-6542-9, S. 53 f.
- Alexandros Karagkasidis: Developing GUI Applications: Architectural Patterns Revisited. A Survey on MVC, HMVC, and PAC Patterns, Tagungsbeitrag zur EuroPLoP 2008 (13th Annual European Conference on Pattern Languages of Programming), Irsee 2008
- David Tielke: Besser mit Plan, in: dotnetpro Nr. 2/2015, S. 38–45