Looking for Reflection
To help you understand reflection, this section provides several examples. Table 16-1 breaks these example applications into the three parts of reflection: base level, meta level, and MOP.
For details on the use of the base level, meta level, and MOP as classes in the Reflection pattern, see “Designing Architectural Reflection,” later in this chapter.
Externalization
Most computer programming languages allow you to create groupings of related data in the form of types, structures, or classes. Within a program, these structures are great — they implement several of the enabling techniques that I discuss in Chapter 2, such as encapsulation, information hiding, and modularization.
The problem comes when you need to store that structure in a file or send the data structure over a serial communication link. In these cases, the nice internal structure that your program uses must be externalized — converted to a serial stream of bits (or converted from a stream of bits to the structure again).
I discuss this problem in conjunction with several other architectural patterns in Part III of this book. Look for terms like serialize and marshal ...
Get Pattern-Oriented Software Architecture For Dummies now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.