I.e. something that doesn't employ separation of concerns / use any form of UI architecture such as MVC, MVP etc.

An example would be a Windows form that had a button which, once pressed (user interaction), grabs data from a database (model), checks it against some business logic and then updates the UI, but all of this written as a single function / all in one class.

One could say badly designed, but I'm sure there is a more appropriate term.

I've come across it termed as Widget-based UI, but this doesn't seem correct.

closed as primarily opinion-based by Christophe, gnat, 8bittree, Doc Brown, JeffO Mar 20 '18 at 16:00

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • I believe Fowler and Evans both call this a "Smart UI" architecture – king-side-slide Mar 20 '18 at 17:05

The generic term for an application that lacks any sort of architecture is a Big Ball of Mud:

A big ball of mud is a software system that lacks a perceivable architecture. Although undesirable from a software engineering point of view, such systems are common in practice due to business pressures, developer turnover and code entropy. They are a type of design anti-pattern.



  1. The UI form was generated automatically from the domain model
  2. The database is an object DB or is accessed via an ORM

Then this might be considered an example of the Naked Objects pattern. Which isn't necessarily "bad" or "mud", assuming they follow other good practices such as not putting this all into one giant function.

Not the answer you're looking for? Browse other questions tagged or ask your own question.