Problem (definition of the reoccurring difficulty)
User interfaces often change in the internet, where look-and-feel is a
competitive issue. Also, the same information can be presented in
different ways. The core business logic and data is stable.
Solution (how do you solve the problem)
Use the principle of “separation of concerns” to isolate the
data model with business rules from the user interface considerations
by dividing App into 3 areas: Model, View and Controller.