创建模式
解决“对象如何创建”的问题,降低创建与使用的耦合
单例模式(Singleton):确保一个类仅创建一个实例,并提供全局唯一的访问入口。
系统的日志管理器。整个应用只需一个日志实例(避免多实例写日志时文件冲突),所有模块共用这一个实例记录日志
工厂方法模式(Factory Method):定义创建对象的接口,让子类决定具体实例化哪个类,封装对象创建逻辑。
电商平台的支付方式创建。定义“支付工厂”接口,子类分别实现“支付宝工厂”“微信支付工厂”,客户端调用对应工厂即可创建具体支付对象,无需关心支付逻辑细节。
抽象工厂模式(Abstract Factory):提供一个接口,用于创建一系列相关或依赖的对象族,无需指定具体类。
跨平台UI组件库。定义“UI组件工厂”接口(含创建“按钮”“输入框”的方法),子类实现“Windows UI工厂”、“Mac UI工厂”;每个工厂创建的“按钮+输入框”是配套的同风格组件,确保跨平台UI一致性。
建造者模式(Builder):将复杂对象的构建与表示分离,让同一构建过程能生成不同的表示。
定制化奶茶订单。“奶茶”是复杂对象(含茶底、甜度、冰度、小料),“奶茶建造者”负责按用户选择(如“红茶底+三分糖+少冰+珍珠”)逐步构建,客户端只需指定需求,无需关心组装顺序。
原型模式(Prototype):通过复制现有实例(原型)来创建新对象,避免重复执行复杂的创建流程。
Excel表格复制。当表格包含复杂公式、格式时,直接“复制粘贴”(克隆原型对象)比重新创建新表格再设置格式/公式更高效,减少重复计算和配置。