Developers are obsessed with architecture patterns. There are many ways of writing the same application. Each stating its superiority over the other.
Our approach is to keep the user and the customer's business needs at the center. We then work our way upward, keeping budget and time constraints in mind to pick the right design pattern. In most cases the best design patterns are simple.