Episode 63: A Pattern Language for Distributed Systems with Henney and Buschmann

Topics covered
Popular Clips
Episode Highlights
Object Adapter
In the realm of distributed systems, the object adapter pattern is often favored over the class adapter due to its flexibility and adaptability. explains that the object adapter pattern allows for delegation to another object rather than relying on inheritance, which is more suitable for distributed environments 1. adds that while both object and class adapters were considered, the object adapter was chosen for its looser coupling and stronger delegation style 2.
We thought that in terms of how we think adaptation in distributed systems could work is it's more the object adapter. You delegate something to another object rather than using inheritance to connect the difference.
---
This approach aligns with the need for flexibility and adaptability in complex distributed systems.
Decorator vs Interceptor
The decorator and interceptor patterns serve distinct purposes in distributed systems, with the latter often proving more effective. notes that while the decorator pattern is a classic example, it is less frequently used in practice due to complexities like object identity and memory management 3. In contrast, the interceptor pattern is favored for its strong track record in component and distributed computing, offering a less intrusive approach to adding functionality 4.
It has a very strong proven track record in component and distributed computing.
---
This makes interceptors a preferred choice for maintaining stable interfaces while enhancing functionality.
Inheritance Issues
Inheritance in distributed systems can lead to significant challenges, such as the fragile base class problem. highlights how these issues can be particularly problematic, prompting a preference for patterns like object adapter that avoid these pitfalls 5. The connection between POSA 4 and POSA 5 books underscores the ongoing exploration of these challenges and solutions.
You know, that can introduce the fragile base class problem and inheritance anomalies, which are specifically annoying systems.
---
By sidestepping inheritance issues, developers can create more robust and adaptable distributed systems.
Related Episodes

Episode 54: Interview Frank Buschmann
Answers 383 questionsEpisode 1: Patterns
Answers 383 questions
Episode 41: Architecture Patterns (Architecture Pt. 4)
Answers 383 questions

Episode 76: Special Episode on the Patterns Journal
Answers 383 questions

Episode 215: Gang of Four – 20 Years Later
Answers 383 questions

Episode 42: Interview Gregor Hohpe
Answers 383 questions

Episode 20: Interview Michael Stal
Answers 383 questionsEpisode 29: Concurrency Pt.3
Answers 383 questions
Episode 78: Fault Tolerance with Bob Hanmer Pt. 2
Answers 383 questions

Episode 81: Interview Erich Gamma
Answers 383 questions

Episode 34: Enterprise Architecture
Answers 383 questions

Episode 19: Concurrency Pt. 2
Answers 383 questions

Episode 47: Interview Grady Booch
Answers 383 questions

Episode 145: Spring in 2009 with Eberhard Wolff
Answers 383 questions














