Diagnosing Java Code: Glass box extensibility
Glass box extensibility refers to the ways in which a software system may be extended when the source code is available for viewing, but not for modifying -- it lies as the happy medium between black box design (in which extensions are built without viewing the original code) and open box design (extensions are coded directly into the base code). Because the new extensions are based directly on the original code but don't alter it, the glass box design is probably the most effective, and safest, method of extending a software system. This article expands on the topic of glass box extensibility touched on last month in this column. After reading this article, you'll know when to use the glass box and will have some tips on how to implement it.