0
2.6kviews
List various architectural styles. What are the differences between Architectural styles and Architectural Patterns?

Mumbai University > Branch > Sem > Subject.

Marks: 10 M

Year: Dec 11

1 Answer
0
18views

Architectural style is a way of classifying architecture that gives emphasis to characteristic features of design. It is defined as a named collection of architectural design decisions that

  • Are applicable in a given development context.
  • constrain architectural design decisions that are specific to a particular system with in that context, and
  • Elicit beneficial qualities in each resulting system.

The various Architectural styles consist of

1. Traditional Language-Influenced styles which include:

  • Main program and subroutine style- Here decomposition is based upon separation of functional processing steps.
  • Object-oriented style- Here states are strongly encapsulated with functions that operate on that state as objects. Objects must be instantiated before the methods are called.

2. Layered Architectural styles which include:

  • Virtual machines style- It consist of an ordered sequence of layers or virtual machines which offer a set of services that may be accessed by programs in the upper layers.
  • Client-server style- Here, the client sends request to server which performs the required functions and replies with the desire information.

3. Data-flow styles which include:

  • Batch Sequential style- Here, separate programs are executed in order, data is passed as an aggregate from one program to another.

  • Pipe and filter style- Here, separate programs are executed concurrently and data is passed as a stream from one program to the other.

4. Shared memory styles which include:

  • Blackboard style- Here, independent programs access and communicate exclusively through a global data repository.
  • Rule based style- It is a highly specialized type of shared memory called a knowledge base which has database containing facts and production rules.

5. Interpreter style which include:

  • Interpreter style- Here, interpreter parses and executes input commands, updating the state maintained by the interpreter.
  • Mobile code style- Here, the code can be transmitted to a remote host for interpretation.

6. Implicit invocation style which include:

  • Event-based style- Here, independent components asynchronously emit and receive evens communicated over event buses.
  • Publish-subscribe style- Here, subscriber registers or deregisters to receive specific messages or content. Publisher maintains a subscription list and broadcast messages to subscriber either in a synchronous or asynchronous manner.

7. Peer-to-peer style-

  • Here, state and behavior are distributed among peers that can act as either clients or servers.

8. “Derived” styles-

  • a style derived from various other styles.
Architectural Pattern Architectural Style
It applies to a specific design problem It applies to a development context
They are tactical design tools They are strategic design tools
They are parameterized architectural fragments that can be thought of as concrete pieces of a design They are too abstract to yield a concrete system design
A single pattern could be applied to systems designed according to the guidelines of multiple styles A system designed according to the rules of a single style may involve the use of multiple patterns
It is a way of solving a recurring architectural problem It is just a name given to a recurrent architectural design, cannot solve a problem
Please log in to add an answer.