Define the layering pattern
What will be an ideal response?
Layering is one of the most common patterns used in software architecture. A layer is a collection of components that provide similar services or are highly dependent on each other for performing their services. The basic idea is simple: to manage a complex architecture, aggregate components that perform the same kind of services, plus components that support them, into distinct layers. In such a structure, horizontal layers embody a hierarchy: the lower layer supports the upper layer, and the upper layer relies on the services of the lower one.
Layers can be both horizontal and vertical. Vertical layers run across all horizontal layers, control them, sometimes use their services and, most importantly, connect the layers together.
The relationship between conceptual, logical, and physical layers is not necessarily one-to-one. For a number of reasons, a conceptual layer might not become a logical or a physical layer. (A physical layer on a separate server is called a tier; hence the terms "two-tier," "three tier," and "n-tier".) Nevertheless, conceptual layering is always useful, regardless of whether it is implemented as physical layers or not. At the very least, it is an incentive to clearly define what kind of responsibilities your classes must have.
You might also like to view...
How does a manufacturing company calculate unit product cost? Why do managers need to know the unit product cost?
What will be an ideal response
All of the following correctly states McDonald's approach to standardization and adaptation of the marketing mix except:
A) McDonald's standardizes some product elements and adapts others. B) McDonald's standardizes some place elements and adapts others. C) McDonald's standardizes some promotion elements and adapts others. D) McDonald's standardizes some price elements and adapts others. E) McDonald's standardizes all product elements.