O'Reilly logo

Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, 4th Volume by Douglas C. Schmidt, Kevlin Henney, Frank Buschmann

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 13. Component Partitioning

Component Partitioning

Anna Buschmann, partitioning a Lego building © Frank Buschmann

Components are the implementation building blocks that provide well-defined services to their clients. How these services are realized is generally of no interest to the clients. While this black-box view is beneficial for component users, component developers cannot ignore the need for a internal component design. This chapter, therefore, presents six patterns that help to structure the implementation of a component. The focus of these patterns is on general component decomposition and the support for various component deployment scenarios in a distributed system.

Component-based software development is a key technology in modern software construction. The core idea is that software can be composed of well-defined modular building blocks, each providing a specific, coherent, and self-contained service through an interface. A defining characteristic of components and their composability is that they are based on a strong form of encapsulation and a range of choices concerning application binding time and location. This strong encapsulation of implementation details yields the two primary benefits of component-based software development:

  • Productivity. If the components that are used in the development of an application already exist or can be purchased as third party products, this can markedly ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required