精讲23种设计模式
"精讲23种设计模式" 设计模式是软件开发中一种常用的编程思想,旨在提供通用的可重复使用的解决方案,以解决软件设计中常见的问题。通过本书,我们将总结和讲解了23种设计模式,涵盖了创建型、结构型、行为型三大类设计模式。 一、创建型设计模式 创建型设计模式关注的是对象的创建过程,目的在于将对象的创建过程与其表示分离,以便于提高代码的可维护性和灵活性。 1.1 Factory Method模式 Factory Method模式的主要思想是使一个类的实例化延迟到其子类。这意味着,我们可以将对象的实例化过程延迟到子类中,而不是在父类中。这样可以提高代码的灵活性和可维护性。 场景:在某个系统开发的较早阶段,有某些类的实例化过程,实例化方式可能还不是很确定,或者实际实例化的对象(可能是需要对象的某个子类中的一 个)不确定,或者比较容易变化。 实现:该模式的典型实现方法就是将调用类定义为一个虚类,在调用类定义一个专门用于构造不确定的对象实例的虚函数,再将实际的对象实例化代码留到调用类的子类来实现。 重构成本:低。该模式的重构成本实际上还与调用类自己的实例化方式相关。如果调用类是通过 Factory 方 式构造的,那么,重构成本相对就会更低。 1.2 Abstract Factory模式 Abstract Factory模式的主要思想是不直接通过对象的具体实现类,而是通过使用专门的类来负责一组相关联的对象的创建。 场景:最典型的应用场景是:您只想暴露对象的接口而不想暴露具体的实现类,但是又想提供实例化对象的接口给用户;或者,您希望所有的对象能够集中在一个或一组类(通常称作工厂类)来创建,从而可以更方便的对对象的实例化过程进行动态配置(此时只需要修改工厂类的代码或配置)。 实现:该模式的实现是比较清晰简单的,就是定义创建和返回各种类对象实例的工厂类。在最复杂而灵活的情形,无论工厂类本身还是被创建的对象类都可能需要有一个继承体系。 重构成本:中。如果一开始所有的对象都是直接创建,例如通过 new 实例化的, 而之后想重构为 Abstract Factory 模式,那么,很自然的我们需要替换所有直接的 new 实例化代码为对工厂类对象创建方法的调用。 1.3 Builder模式 Builder模式的主要思想是将一个类的创建过程和他的主体部分分离。 场景:该模式的典型的应用场景是:一个类的创建过程可能比较复杂,或者创建过程中的某些阶段可能会容易变化;或者多个类的创建过程比较类似,但是主体不同。 实现:在以上提到的两种场景中,我们就可以取出一个类的创建过程的代码,定义一个专门的Builder 类, 而在原来创建类对象实例的地方,将这个 Builder 类用于创建对象实例。 重构成本:中。该模式的重构成本主要取决于创建过程的复杂度和变化性。如果创建过程比较复杂,那么,重构成本将相对较高;否则,重构成本将相对较低。
剩余22页未读,继续阅读
- 粉丝: 3
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
- 4
- 5
- 6
前往页