 "N"-tier application architecture provides a model by which developers can create flexible and reusable applications.By segregating an application into tiers, developers acquire the option of modifying or adding a specific layer, instead of reworking the entire application.A three-tier architecture is typically composed of a "presentation" tier, a "domain logic" tier, and a "data storage" tier.