我正在编写游戏开发所需的库和系统时,正在尝试各种创造性设计模式,如抽象工厂和建造者。目前,我正在开发一个使用泛型(C#)的抽象工厂框架,也使用了IFactoryRequest接口和实现,这些实现也是泛型的,以提供创建详细信息。 我有一个名为“Plant”的类,其中所有工厂都使用DI注入,这个植物会接收IFactoryRequest,使用LINQ(感谢泛型类型安全)将其解析为适当的工厂(一个简单的一行代码),并返回请求的项或抛出一个自定义相关异常,包含请求信息。 在类型安全性、优雅性和与客户端代码的解耦方面,这一切都工作得非常好 在工厂本身、工厂请求和抽象/泛型之间,我发现自己写了大量用于创建非常少量对象的单独类。虽然这些类是窄的、简单的,并且遵循SRP,但知道自己想实例化的不同对象类型的数量,使我对预期的类数量感到望而却步。 因此,我正在权衡选项,希望从这里的程序员中获取一些反馈。您在对象创建中使用哪些模式(如果有的话)?您为什么选择这种路线?您在不同上下文中使用不同的方法吗?您有任何后悔或您会改变什么?