public void ClientMethod(GUIFactory guiFactory) { var button = guiFactory.CreateButton(); var checkbox = guiFactory.CreateCheckBox(); var radiobutton = guiFactory.CreateRadioButton(); Console.WriteLine(button.UsefulFunctionButton()); Console.WriteLine(checkbox.UsefulFunctionButtonCheckBox()); Console.WriteLine(radiobutton.UsefulFunctionRadioButton()); }