c#工厂模式简单工厂,抽象工厂,单件模式