设计模式:工厂与构建器助力对象创建
1. 数据库连接与工厂模式
1.1 数据库连接方法
在完成适配器相关操作后,会有一个基础类,它针对不同类型的数据库,都有一个名为 <<db_type>>_connection 的方法。要根据适配器名称创建实际的数据库连接,基础类会将特定数据库方法的名称构建为字符串。示例代码如下:
adapter = "mysql"
method_name = "#{adapter}_connection"
Base.send(method_name, config)
上述代码最后一行实际上调用了特定数据库的方法,并将数据库连接配置(如数据库名、用户名和密码等)作为参数传递,从而实现即时连接。
1.2 工厂模式概述
工厂模式主要用于解决“选择哪个类”的问题,主要包含工厂方法模式和抽象工厂模式。
- 工厂方法模式 :将模板方法模式应用于对象创建。该模式把“选择哪个类”的问题留给子类来解决。例如,可以创建一个通用的 Pond 类,它了解环境模拟的所有信息,但将具体的植物和动物类的选择留给子类。像 DuckWaterLilyPond 和 FrogAlgaePond 这样的子类,会在工厂方法中实现创建合适对象的逻辑。
- 抽象工厂模式 :当需要创建兼容的对象集时使用。例如,为了确保青蛙和藻类不
超级会员免费看
订阅专栏 解锁全文
613

被折叠的 条评论
为什么被折叠?



