NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
| 使用反射来优化抽象工厂模式 | | | --- | --- | 简单工厂的核心是 switch 或者 if 判断; 但是简单工厂配合抽象工厂的时候; 工厂里面的每个用来实例化产品的方法都需要 switch ; 这就显的重复了; 这时候我们可以使用反射来优化; [TOC] 结构 多个 interface 或者 abstract 产品父类; 多个实现 interface 或者继承 abstract 的具体产品类; [TOC] 1个工厂; 工厂类里面有多个方法分别实例化不同的具体产品类; [TOC] 增加两个内置类 ``` use ReflectionClass; use ReflectionException; ``` [TOC] 优缺点 当我们需要支持更多的数据库的时候; 比如说 PostgreSQL ; 我们只需要新建 PostgreSQLUser 和 PostgreSQLArticle ; 这就符合开闭原则了; 可以方便的扩展且不需要修改 createUser 方法; [TOC] over; 工厂相关的设计模式终于告一段落;