Developing a reusable library for system construction. The system should be constructed component based but constructing a system by using only software components and using current technical levels is the challenge.
A simple application was used in a experimental program. In the component system, 3 classes, i.e. viewer, collector, and subject were used. They are prepared as Java based component classes. These 3 classes have no information of the application's data, or application information. An application developer must prepare data classes and GUI classes. "A data object will tell its data and data accessing methods to Subject component. A GUI object will tell its interests to the Viewer class and at the same time, the GUI object asks the Viewer to call a method on GUI when the data is updated. The Collector component manages matchings between Subject and Viewer such as the mapping of Viewer and Subject, data acquiring intervals". These 3 components will be integrated to one interface component. The programmer then can ask each component for its management operation.
Before implementing, it must first break down how this system can be used for real life systems. We must decide between black box or white box style reuse. This model can be constructed using white-box style class libraries where all the GUI and Application data are subclassed respectively. This was not so effective in the fact white box does not always have the best optimization. Using the black box method, this optimized the robustness and maintainability of the finished pattern. It is the belief that black box style reuse must be used in order for wide spread acceptence in the business community. However, most of the current reuse of code is done using white box style reuse and this will last due to its flexibility and long history of use. There are trade offs for either doing white or black box style reusable libraries. The decision should be based on the following factors, the domain, languages, object characteristics, objects flexability and many others.
"Technically, one of the key points to shift to black-box style reuse is how black-box component can have white-box's superior points, i.e., extendibility and flexibility. On the other hand, if component users need not require limitless extendibility or flexibility for components, this will also solve the key; this means all components are well constructed and prepared as "component pattern" and all you have to do is just to choose one pattern from the pattern library."
Alot of open question remain about whether black box or white box style reuse should be used in making pattern libraries. The factors such as domain, language, and object structure all determine what is the best way of doing a certain task. The main open question would be, "What is the best way to standardize these pattern decisions and how an we make this accessable for every user to understand and reuse?"