架构 2 期 - 第三周作业(2)
概述
本周重点学习了几种常用的设计模式,主要包含单例模式、适配器模式、工厂模式、适配器模式、策略模式、模板方法模式、组合模式以及装饰器模式。
单例模式
单例模式主要介绍了两种比较常用的实现方案,饿汉式和懒汉式,饿汉式比较简单在初始化的时候便创建了对象,避免了线程同步问题,但相对的增加了初始加载的资源占用。懒汉式虽然解决了起始资源占用问题,但是在创建时依然会占用资源,而且其会影响运行期间的性能,而另外的严重的问题是其线程同步问题,所以必须在获取方法上加一把大锁,这样也就导致当频繁获取该对象的时候会导致锁被频繁的增加和释放,带来更多的性能问题。
当然还存在另外的方式,如双重检测方式、静态内部类方式和枚举方式。
适配器模式
适配器模式很容易理解,可以类别现实中的螺丝刀。现实生活中靠人手去拧螺丝肯定拧不好。而螺丝刀就充当了一个适配器的作用,其将螺丝的接口适配成人手的接口,使人手能方面的拧动螺丝。
工厂模式
工厂模式主要用来解决对象创建的问题,虽然可以通过该模式解决客户端调用时的修改问题。但是工厂内部却不得不违反了开闭原则,此时更多的处理手段则是通过配置文件和反射的方式来优化工厂模式。
策略模式
当代码中出现了很多的分支条件判断,这是第一反应想到的便是使用策略模式+工厂模式的方式来优化它。因为策略模式能把具体的策略实现封装起来。
模板方法
模板方法是JUnit中采用的一种模式,其主要用于解决复用和扩展的问题。
其他待后续整理
评论