Course Code: archpat
Duration: 14 hours
Overview:

Architectural Patterns are proven and recognized solutions for the structure and organization of applications or IT systems. These patterns define key elements, their relationships, and design principles that can be applied in software architecture to solve repeatable system design problems. Here are some popular architectural patterns: Model-View-Controller (MVC): - Dividing the application into three main components: Model (business logic and data), View (user interface), and Controller (action and logic management). Model-View-ViewModel (MVVM): - Similar to MVC, with a central data model, view and view model, often used in UI applications. Layered: - Dividing an application into layers (for example, presentation layer, business logic layer, data access layer) to segregate functionality. Microservices (Microservices): - Designing the system as a set of smaller, independent and isolated microservices that communicate with each other using APIs. Event-Driven Architecture (EDA): - An event-driven architecture where system components respond to events and communicate using an event forwarding system. Service-Oriented Architecture (SOA): - Service-based structure, where the application is built as a set of services with different functionalities that are independent and can be used by different parts of the system. Component-Based Architecture: - Component-based system design, where individual parts are developed independently and can be used repeatedly in different contexts. Hexagonal Architecture (Ports and Adapters): - Separation of business logic from the technical layer by separating external and internal interfaces. Clean Architecture: - Focus on separation of dependencies and keeping the code clean through a hierarchy of layers, where the more internal layers do not depend on the external ones. Event Sourcing and CQRS (Command Query Responsibility Segregation): - Separation of write (command) and read (query) operations in applications by using separate models. Architectural patterns provide generic solutions to architectural problems by helping developers design applications or software systems in a way that is modular, scalable, flexible, and maintainable. Each of these patterns has its advantages and can be used depending on the specifics of the project.

Course Outline:

What are the types, styles, domains and patterns of architecture?

Example architecture methodologies and frameworks

  • TOGAF®
  • Zachman
  • TMForum FrameworkX

An overview of some architectural styles and patterns

  • Layered architecture
  • Command-Query Responsibility Segregation (CQRS)
  • Architecture based on Micro-Kernel (Microkernel)
  • Model-View-Controller (MVC)
  • Service Oriented Architecture (SOA)
  • Blackboard Architecture
  • IoC,EDA,SEDA.

Systems architecture design, quality, evaluation .

Elementy UML for the architect.

Domain patterns in design and architectural terms

.NET Patterns

  • Presentation layers
  • Business logic layers
  • Integration layers

EIP integration patterns

  • Integration styles
  • EAI system
  • Communication channel patterns
  • Patterns for message construction
  • Routing patterns
  • Transformation patterns
  • Endpoint patterns
  • EAI system management.

Antipatterns.

Sites Published:

Polska - Architectural Patterns