Smart UI, auch Smart User Interface (deutschElegante 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 die Smart-UI-Musters versuchen unter anderem die Architekturmuster Model View Controller und Model View ViewModel durch Schichtentrennung auszugleichen.

LiteraturBearbeiten