Comparison

A number of user interface toolkits support some form of reuse. InterViews [#!linton89!#] is a toolkit based on an object-oriented framework [#!johnson91!#]. InterViews supports object categories where each category is a hierarchical structure of object classes within a common class. Reuse is facilitated by allowing objects to be composed from various subclasses. InterViews is intended for producing production quality user interfaces, and therefore does not include higher-level features used in Clock to ease reuse. In particular, InterViews has no equivalent to Clock's invariant functions.

Garnet [#!myers90b!#] is a toolkit intended for rapid prototyping of user interfaces. Garnet provides interactors based on the MVC [#!krasner88!#] model, where the interactors correspond to the controller, the object-oriented graphics correspond to the view, and the code is the model. Constraints in Garnet are used to link the model, view and controller parts, giving a functionality similar to Clock's invariants. The inheritance mechanism can be used to set and override default values on components. Garnet differs from Clock in that Garnet is a more general system, where structuring programs for reuse is a matter of discipline; in Clock, the means of structuring architectures is built into the language.