• Steep learning curve : Since this pattern mostly involves using third-party libraries,
care must be taken that we do not mix in too many of them. That would add to the
learning curve and increase the maintenance overhead.
Developing and maintaining view components can be a daunting task. It requires not
only adaptation between static templates and dynamic data but also building views with
smaller reusable subviews. This promotes the reusability of views and allows them to be
managed and maintained easily.
Each view is composed of three elements:
• Components : UI controls such as buttons, text boxes, and so on
• Container : A collection of components
• Layout : Responsible for positioning and sizing the different components in a con-
Typically applications tend not to identify these critical elements. eInsure, for exam-
ple, never identified components or view containers even though the application had a
fixed layout (Figure 3-16). JSPs were included in this layout using standard include mech-
anisms. This achieved some flexibility, but even greater flexibility and reuse are possible if
the views are composed with subviews containing components and containers embed-
ded with layout.