设计模式解析:单例模式与工厂方法模式

需积分: 0 1 下载量 194 浏览量 更新于2024-06-30 收藏 2.04MB PDF 举报
"这篇读书笔记主要探讨了设计模式的一些核心原则和类间关系,并特别关注了工厂方法模式的介绍和应用场景。" 在设计模式的世界里,有六大基本原则,它们是软件设计的基础。首先,单例职责原则强调一个类应该只做一件事情,这样可以提高代码的可读性和可维护性。其次,迪米特法则提倡类之间尽可能减少直接交互,通过第三方进行间接通信,以降低耦合度。开放-封闭原则指出,软件应当对扩展开放,对修改关闭,意味着面对需求变更时,我们可以通过添加新代码而不是修改旧代码来应对。依赖倒转原则提倡依赖于抽象而不是具体实现,这使得高层模块和底层模块之间的耦合得以解耦。接着,里氏替换原则确保子类可以替换其父类并保持原有功能,增强了系统的灵活性。最后,合成/聚合复用原则鼓励使用组合或聚合来代替继承,以减少继承树的复杂性。 类间关系在设计模式中扮演着重要角色,如合成(组合)关系表示部分与整体的强关联,聚合关系表示一种弱关联,而关联、继承和依赖关系则分别用不同符号表示。接口的声明也是设计模式中不可或缺的一部分,它定义了类之间的契约。 创建型设计模式之一是工厂方法模式,它的核心思想是将对象的创建过程延迟到子类,使得子类可以在不修改父类的情况下,决定实例化哪种类型的对象。这种模式通常在以下场景中使用:当无法预先确定所需对象的具体类型时,或者希望用户能扩展软件库或内部组件,以及在需要复用现有对象以节省资源时,例如处理大型资源密集型对象。 工厂方法模式包含四个主要角色:产品接口(Product)定义了产品的共同接口,具体产品(ConcreteProduct)实现了产品接口,创建者(Creator)定义了一个用于创建产品的抽象方法,而具体创建者(ConcreteCreator)实现了这个抽象方法,创建具体的对象。 该模式的优点在于,它提供了封装变化的方式,使得代码更加灵活,易于扩展。然而,它也可能增加系统的复杂性,因为需要管理更多的类和对象。理解并熟练运用这些设计模式,可以提升代码质量,使得系统更具有可维护性和可扩展性。