Interactive programs use multiple viewers and controllers to alter an underlying numeric model. These can update each other in an observer-observable loop that can propagate unintended and unmanaged digitization errors. The OCO design pattern breaks the loop and maintains control of the numerical values. The interception of changes is done via a modification of the equals method. If two numbers are equal (to within a user defined tolerance) propagation is suppressed. Thus, the digitizer re-samples and re-quantizes the numeric event. Lazy instantiation is not new, nor, for that matter, is the singleton design pattern. However, parametric lazy instantiation is new and so is the parametric singleton.
Journal of Object Technology
Lyon, Douglas A. and Weiman, Carl, "Observer-Conditioned-Observable Design Pattern" (2007). Engineering Faculty Publications. 57.
Douglas Lyon, Carl Weiman, “Observer-Conditioned-Observable Design Pattern”, Journal of Object Technology, Volume 6, no. 4 (May 2007), pp. 15-24