<subclasses(AbstractProduct) & members(ProductSet)> class AFactory … { … return new AWindow(); … return new AScrollBar(); … return new AButton(); } Class BFactory … { … return new AWindow(); … return new AScrollBar(); … return new AButton(); } Window A Parameterized/template expressions
{}