Graphical User Interfaces provide a rich interaction between the user and a software system. Such richness is complex to manage, so it's important to contain that complexity with a thoughtful architecture. The Forms and Controls pattern works well for systems with a simple flow, but as it breaks down under the weight of greater complexity, most people turn to “Model-View-Controller” (MVC). Sadly M
![GUI Architectures](https://cdn-ak-scissors.b.st-hatena.com/image/square/cea9c6d4f82ce41fee130ef95d2d513c05646df6/height=288;version=1;width=512/https%3A%2F%2Fmartinfowler.com%2Flogo-sq.png)