An Adaptive Object-Model system represents user-defined classes, attributes, relationships, and behavior as metadata. This paper presents the Adaptive Object-Model Builder pattern that is used to construct AOM entities. An AOM Builder reads an externally stored build description to construct a build process. This process is then executed to construct a properly initialized AOM entity. Since an AOM Builder is driven by metadata descriptions of entities and their build processes, a single generic AOM Builder implementation can construct different entity types.
The DYNAMIC FACTORY pattern describes how to create a factory that allows the creation of unanticipated products derived from the same abstraction by storing the information about their concrete type in external metadata.
ContextA software system uses a framework (a set of classes that embodies an abstract design for solutions to a family of related problems, and supports reuse at a larger granularity than classes [JF98]), where collaborations between high-level abstractions determine the execution flow.Individual solutions are created by extending existing classes and combining these extensions with other existing classes [Foote88]. The configuration of these combinations of implementers of abstractions should be done without the need of modifying the application.New implementations of the established abstractions can be created by as long as they conform to established protocols. The system should be able to inject these new abstractions into the framework without the need to modify its core. These new abstractions can be created after the system has been delivered.
ExampleA workflow system has a rule evaluation module. Each rule implements a well defined interface, and is injected into a container that evaluates it. The rules can be simple or composite (using the COMPOSITE [GoF95] and INTERPRETER [GoF95] patterns) allowing the creation of complex expressions by composing finer-grained elements.The creation of the rules is delegated to a factory that has a standard interface for creating instances of the abstractions. The clients of the rules request an instance of the rule and the factory provides it.The workflow system vendor supplies a fixed set of rules. New rules could be added by simply implementing the rule interface. The problem comes at rule instantiation, since the factories that contain the logic for creating instances of the rules may need to be modified to support new types of rules.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.