架构师训练营第三周总结
第三周主要学习了常用的设计模式,如单例模式、工厂模式等。并通过JUNIT测试框架、Spring的源码分析,展开讲解了设计模式的实际运用。
单例模式:
概念:一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。
用处:
处理资源访问冲突。
表示全局唯一类
如何实现:
饿汉式:在类加载的时候,instance 静态实例就已经创建并初始化好了,所以,instance 实例的创建过程是线程安全的。
懒汉式 : 延迟加载实例。
工厂模式:
1. 简单工厂(Simple Factory)
使用场景:
a. 当每个对象的创建逻辑都比较简单的时候,将多个对象的创建逻辑放到一个工厂类中。
实现:
a. if else 创建不同的对象。
b. 用单例模式 + 简单工厂模式结合来实现。
2. 工厂方法(Factory Method)
使用场景:
a. 当每个对象的创建逻辑都比较复杂的时候,为了避免设计一个过于庞大的简单工厂类时,将创建逻辑拆分得更细,每个对象的创建逻辑独立到各自的工厂类中。
b. 避免很多 if-else 分支逻辑时。
实现:
a. 定义相应的接口,每个工厂定义一个实现类。这种方式使用会有多个if else 让使用更加复杂。
b. 创建工厂的工厂来,此方案可以解决上面的问题。
3. 抽象工厂(Abstract Factory)- 不常用
使用场景:
a. 有多种分类方式,如方式要用一套工厂方法,方式二要用一套工厂方法,详见原文例子。
实现:
让一个工厂负责创建多个不同类型的对象,而不是只创建一种 parser 对象。
评论