public void Start(IGUIFactory factory) { //The objects and their operations are rely on the factory passed to application //Provide an interface for creating families of related or dependent objects without specifying their concrete classes var button = factory.CreateButton(); var border = factory.CreateBorder(); }