The following four layers are the most common layers in a logical multilayered architecture for an information system with an object-oriented design:
- Presentation Layer (a.k.a. UI Layer, View Layer, Presentation Tier.)
- Application Layer (a.k.a. Service Layer or GRASP Controller Layer )
- Business Layer (a.k.a Business logic layer (BLL))
- Infrastructure Layer (Data access layer, Persistence layer, Logging, Networking, and other Services which are required to support a particular Business Layer.)
Some common purposes of the above four layers are for example described in the book about domain-driven design at page 68-74, which is a book that otherwise is focused on describing the Domain layer
Sometimes there is no explicit distinction between the Business Layer and the Application Layer, e.g. the Application Layer is considered as being a part of the Business Layer. On the other hand, it is also possible to even further divide the Application/Business Layers into more layers. For example, if the Model View Presenter pattern is used, then you can consider the Presenter Layer as being a layer between the User Interface Layer and the Application Layer.
The Business Layer can also use a Business Infrastructure Layer (aka low-level business 'services' layer) logically positioned between Business Layer(s) and Infrastructure Layer(s). That layer (BI) is very general and can be used in several application tiers, e.g. a CurrencyConverter.
The Infrastructure Layer may be partitioned into different levels (high-level or low-level technical services). Though, it is not unusual that developers only consider the persistence (data access) and therefore only talk about the Persistence Layer or the Data Access Layer (instead of an Infrastructure Layer or Technical services Layer). In other words, the other kind of technical services are not always being explicitly thought of as being part of any particular layer.
Regarding that all types are not always considered as belonging to one particular layer, according to the "POSA book" (Pattern-Oriented Software Architecture A System of Patterns, page 39) a relaxed layered system (as opposed to a strict layered system) can use so called "shared data definition modules" which are types not belonging in a particular layer.
Famous quotes containing the words common, layers, information, system, logical and/or architecture:
“Thy fate is the common fate of all;
Into each life some rain must fall.”
—Henry Wadsworth Longfellow (18071882)
“I think its the real world. The people were writing about in professional sports, theyre suffering and living and dying and loving and trying to make their way through life just as the brick layers and politicians are.”
—Walter Wellesley (Red)
“Many more children observe attitudes, values and ways different from or in conflict with those of their families, social networks, and institutions. Yet todays young people are no more mature or capable of handling the increased conflicting and often stimulating information they receive than were young people of the past, who received the information and had more adult control of and advice about the information they did receive.”
—James P. Comer (20th century)
“A person, seasoned with a just sense of the imperfections of natural reason, will fly to revealed truth with the greatest avidity: while the haughty Dogmatist, persuaded that he can erect a compleat system of Theology by the mere help of philosophy, disdains any further aid, and rejects this adventitious instructor.”
—David Hume (17111776)
“Grammar is a tricky, inconsistent thing. Being the backbone of speech and writing, it should, we think, be eminently logical, make perfect sense, like the human skeleton. But, of course, the skeleton is arbitrary, too. Why twelve pairs of ribs rather than eleven or thirteen? Why thirty-two teeth? It has something to do with evolution and functionalismbut only sometimes, not always. So there are aspects of grammar that make good, logical sense, and others that do not.”
—John Simon (b. 1925)
“It seems a fantastic paradox, but it is nevertheless a most important truth, that no architecture can be truly noble which is not imperfect.”
—John Ruskin (18191900)