Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is meant by open and closed layered architectures? [closed]

I know it probably sounds like very trivial question but I couldn't find any resources on the internet.

Could you please tell me what are open and closed layered architectures and why open layered architecture is apparently more difficult to maintin? Are there any disadvantages of using closed/open layered architectures?

like image 408
Artur Avatar asked May 24 '09 17:05

Artur


People also ask

What are the different layers of layered architecture?

Although the layered architecture pattern does not specify the number and types of layers that must exist in the pattern, most layered architectures consist of four standard layers: presentation, business, persistence, and database (Figure 1-1).

What is the meaning of layered architecture?

Definition. ● The layered architecture style is one of the most common architectural styles. The idea behind Layered Architecture is that modules or components with similar functionalities are organized into horizontal layers. As a result, each layer performs a specific role within the application.

What are the two types of control flow within layered architectures?

In this case there are two approaches: one-pass architecture: control flows sequentially through each layer, until the final layer (Figure 2. 1 (b)) two-pass architecture: control flows up the architecture (the first pass) and then, control flows back down (Figure 2.

What is layered architecture example?

Gmail is divided into at least three layers, every one of them has a mission, and they exist separately to handle different processes at different levels. It is an excellent example of layered architecture.


2 Answers

A closed layered architecture means that any given layer (or tier) can only use the services of the next immediate layer, whereas in an open layer architecture a given layer can make use of any of the layers (or tiers) below it. Closed layer architecture promotes independence between layers by reducing dependencies.

http://books.google.com/books?id=z5XX4gYuMs0C&pg=PT160&lpg=PT160&dq=%22closed+layer+architecture%22&source=bl&ots=-iCw2be77_&sig=zQvScA2oIud_rNJNMziZXNMSnJo&hl=en&ei=u4UZSt7MKoX2tAOW-8jaCA&sa=X&oi=book_result&ct=result&resnum=5#PPT160,M1

like image 50
Robert Harvey Avatar answered Sep 21 '22 12:09

Robert Harvey


Here's one of the earliest definitions of open and closed architectures from Bob Martin:

http://www.objectmentor.com/resources/articles/ocp.pdf

Open architectures, by definition, are changing. They're hard to maintain because it's difficult to see into the future when designing the API and anticipate every possible need. But if the API remains constant, and you've designed effective mechanisms for modifying by addition rather than rewriting (e.g. declarative configuration, data-driven applicatons), open architectures can be very effective.

There's nothing wrong with a closed architecture for those problems that are well known and relatively static. Open isn't always necessary. The choice has to do with the nature and rate of change.

like image 42
duffymo Avatar answered Sep 22 '22 12:09

duffymo