[Admin: This content comes from the original mobile-friendly PDF.]
Introducing UX: What are the key concepts?
First of all, in the words of Mike Herbert, our principal architect on the TRIRIGA applications team, the UX framework “implements an MVC architecture for TRIRIGA applications.” This is key. To break this down, UX implements MVC. In turn, MVC is applied to our applications.
But what is MVC? According to Wikipedia:
Model–view–controller (MVC) is a software architectural pattern for implementing user interfaces. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user.
In other words, MVC separates the application into 3 components or layers — the model, view, and controller. Returning to Wikipedia:
[T]he model captures the behavior of the application in terms of its problem domain, independent of the user interface. The model directly manages the data, logic and rules of the application.
[The] view can be any output representation of information, such as a chart or a diagram; multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants.
[T]he controller accepts input and converts it to commands for the model or view.
Here’s a basic diagram of the typical MVC components and process flows.
By decoupling the form views from the data model and the business logic controls, you can make changes to each piece more efficiently.
To use a simple wardrobe analogy, let’s imagine that instead of being separate, your favorite socks are actually sewn into your favorite shoes. How often would you clean or replace the combination? Weekly for your socks? Yearly for your shoes? To make it even more messy, let’s imagine that your favorite pants are sewn onto your favorite socks too. How much would it cost to clean or replace the whole thing? Weekly? Yearly?
So you see, by decoupling the components, you can react to changing business requirements and update components more quickly and easily. Not to mention, more cleanly and cost-effectively. Aren’t your socks glad?