Published Sep 3, 2019

Episode 41: Architecture Patterns (Architecture Pt. 4)

Eberhard Wolff delves into the pivotal role of frameworks and architectural patterns in software design, distinguishing the structuring powers of frameworks from the specific services of libraries, while exploring the applications, benefits, and challenges of patterns like pipes and filters, microkernel, and blackboard styles with Priyanka Raghavan.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Pattern Definition

    explains that architectural patterns are proven methods for building systems, particularly in meeting non-functional requirements. These patterns serve as templates or guidelines, much like architectural styles in building design, and help document system architecture. adds that architectural patterns have a global impact on system architecture, unlike design patterns which are more localized 1.

    An architectural style can also serve as a template to some extent, or a set of guidelines to guide the design of your architecture.

    ---

    The episode further explores how these patterns are applied to domain models to fulfill non-functional requirements, emphasizing their strategic importance in system design 2.

       

    Pattern Differences

    The episode distinguishes between architectural and design patterns, highlighting their different levels of abstraction. notes that architectural patterns address strategic aspects of a system, while design patterns focus on tactical implementation details 3. This distinction is crucial for system design, as it influences how systems are structured and how components interact.

    Architectural patterns have a stronger impact, a global impact on the architecture, whereas a design pattern has a pretty localized impact on the design.

    ---

    The discussion also touches on shared repository patterns, which allow for parallel processing and decoupling of responsibilities, illustrating the practical applications of these concepts 4.

       

    System Role

    Architectural patterns play a pivotal role in shaping software systems by providing a framework for design and implementation. describes these patterns as stepping stones in the architectural design space, helping architects find balanced solutions 5. Once a pattern is chosen, it should be documented and reviewed to ensure it addresses all project-specific forces 6.

    Architectural styles aren't used literally, so they serve as a kind of stepping stone when finding your solution.

    ---

    The evaluation of patterns involves assessing their fit for the problem at hand, often requiring adjustments to meet specific needs 7.

Related Episodes