0% found this document useful (0 votes)
12 views

Untitled document (2)

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Untitled document (2)

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

❖ Architectural styles and types

Architectural styles define a system's structural organization, influencing how components interact and
communicate. Here are explanations of the specified styles:

1. Data Flow Architecture

● Definition: In this style, data moves sequentially through a series of processes or


transformations.
● Types:
○ Batch Sequential: Data is processed in distinct stages, with each stage completing
before the next begins.
○ Pipelines: Data flows continuously through interconnected components, each
transforming it.
● Key Characteristics:
○ Emphasizes data transformation.
○ Suitable for stream processing or compilers.
● Example: A compiler that processes source code through stages like lexical analysis, syntax
analysis, and code generation.

2. Object-Oriented Architecture

● Definition: Based on objects, which are instances of classes encapsulating data and behavior.
● Key Characteristics:
○ Promotes reusability and modularity.
○ Communication occurs via method calls between objects.
● Benefits:
○ Easy to maintain and extend.
○ Aligns closely with real-world modeling.
● Example: A GUI application where buttons, text fields, and windows are objects interacting with
each other.

3. Layered Architecture

● Definition: The system is organized into layers, each providing services to the layer above it and
depending on the layer below it.
● Key Characteristics:
○ Clear separation of concerns.
○ Each layer has a specific role (e.g., presentation, business logic, data access).
● Benefits:
○ Scalability and maintainability.
○ Layers can be replaced or updated independently.
● Example:
○ 4-Layer Architecture:
1. Presentation Layer: Handles the user interface.
2. Business Logic Layer: Processes the application's core functionality.
3. Data Access Layer: Manages database interactions.
4. Database Layer: Stores data.
● Use Case: Web applications (e.g., MVC framework).

4. Data-Centered Architecture
● Definition: Focuses on a central data store that all components interact with.
● Types:
○ Repository Model: All components read/write to a shared data repository.
○ Blackboard Model: Components share a common data structure, actively modifying and
reacting to data changes.
● Key Characteristics:
○ Centralized data management.
○ Loose coupling between components.
● Benefits:
○ Simplifies data consistency and integration.
● Example:
○ Repository Model: Version control systems like Git.
○ Blackboard Model: AI systems for problem-solving.

5. Call and Return Architecture

● Definition: Follows a hierarchical control structure where modules call subordinate modules and
return control to the caller.
● Types:
○ Main-Subroutine: Centralized control with a main program calling subroutines.
○ Remote Procedure Call (RPC): Calls are made to remote services as if they are local
subroutines.
● Key Characteristics:
○ Emphasizes control flow.
○ Modules can be reused easily.
● Benefits:
○ Clear execution flow.
○ Simplifies debugging.
● Example: A program where a main function orchestrates calls to helper functions (e.g., a
calculator application).

You might also like