Is there a design pattern to solve the product to product variant association? A product varies from another product by only it's color, size or material only. Every other static properties like name and description are the same.
I looked at the type-object / item-descriptor pattern which does not seem to be a fit. In this case, I'm not creating two types of products but the same type of product but varies in dynamic properties. I don't know these properties (color, size and material) at compile time. I know what they are at run time only.