我正在编写游戏开发所需的库和设计系统,同时也在尝试各种创造性设计模式,如抽象工厂和生成器。目前,我正在开发一个使用泛型(C#)的抽象工厂框架,框架还使用了IFactoryRequest接口和泛型实现来提供创建细节。 我有一个名为“Plant”的类,其中所有工厂都通过依赖注入(DI)注入,植物将接收IFactoryRequest,使用LINQ(由于泛型类型安全)解析出合适的工厂,并返回请求的项或抛出一个自定义相关异常,包含请求信息。 在类型安全、优雅性和与客户端代码解耦方面,这个解决方案非常有效 但是,在工厂之间、工厂请求和抽象/泛型之间,我发现自己写了大量独立的类来支持非常少量的对象。尽管这些类很窄、简单,并且遵循单一责任原则(SRP),但预计需要创建的对象类型却使类的数量变得令人望而却步。 因此,我正在权衡选项,希望从这里的程序员中获得一些建议。您在对象创建中使用哪些模式(如果有的话)?您为什么选择这些模式?您在不同上下文中使用不同的方法吗?您是否有任何后悔或改变的想法?