架构师训练营 1 期 - 第三周总结(vaik)
本周概要
本周重点是讲框架相关的一些设计模式,从简单工厂介绍了设计模式带来的好处,接着单例模式、适配器模式、模板方法模式、策略模式,组合模式、装饰器模式、mvc模式等,智慧老师从spring框架,junit框架用到的设计模式,从实用和常用的角度,带领我们体会各种设计模式的强大和无处不在,以及应用常景,可谓用心良苦。
本次总结,主要从我个人的理解角度出发,尝试用自己的语言来描述本周提及的一些设计模式,主要是加深对这些设计模式的实现和针对的应用场景的理解。
重点理解,每种模式的变化与不变之处是什么?
设计模式简介
什么是设计模式
我的理解:
设计模式,模式顾名思义,可以理解为一个模子,一个套路;在软件开发领域,即为一些类似的软件设计场景的通用解决方案;常用的设计模式23种,分为三大类创建模式、结构模式、行为模式;一个模式就是对某种类似场景的应对各种变化而封装的抽象的不变的模式。
一个设计模式的四个部分:
• 模式的名称 - 由少量的字组成的名称,有助于我们表达我们的设计。
• 待解问题 - 描述了何时需要运用这种模式,以及运用模式的环境(上下文)。
• 解决方案 - 描述了组成设计的元素(类和对象)、它们的关系、职责以及合作。但这种解 决方案是抽象的,它不代表具体的实现。
• 结论 - 运用这种方案所带来的利和弊。主要是指它对系统的弹性、扩展性、和可移植性的 影响。
设计模式、框架、设计原则
上面清晰的说明了,设计模式遵从SOLID设计原则,通过实现某些设计模式,使得框架能够落地。
简单工厂模式
我的理解:
工厂模式是一种创建模式,主要为了解耦以new的方式创建类,避免对具体实例产生依赖,实现对抽象依赖,从而遵从OCP原则。
工厂模式一般分为简单工厂、工厂方法、抽象工厂,简单工厂好比一个工厂生产一类产品;工厂方法好比多个工厂生产一类产品;抽象工厂好比多个子工厂产生多种产品。
单例模式
我的理解:
单例模式也是一种创建模式,指的是在对象的生存边界范围内,一个类永远都只可能有一个实例的实现方式。
单例模式一般分为饿汉模式(类加载时创建),懒汉模式(使用实例时创建)
适配器模式
我的理解:
适配器模式是一种结构模式,由一个中间类对一种接口功能进行转换,以适配所需要的接口功能。
模板方法模式
我的理解:
模板方法模式是一种行为模式,定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。 一般在p抽象类中定义算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下重新定义算法的某些步骤。
模板方法的步骤中加入钩子方法,大大提升了灵活性和可扩展性,让具体的业务更加能自由发挥。
策略模式
组合模式
装饰器模式
MVC模式
评论