To enhance the ability and reliability of product variant design, an object-oriented framework was constructed using an extensible module/product class for setting up a modular design model. A module/product in a class was identified as an object by encapsulating the involved information as properties and the transforming or interaction activities as operations. This extensible object was gradually optimized through communications with other objects and integrations of design knowledge in five domains. These include Customer, Functional, Physical, Process and Engineering, which is a new domain introduced in this paper. The programmatic framework was implemented and successfully demonstrated using some typical machine tool products.