架构师训练营第三周总结
本周的主题是代码重构,通过学习了几个设计模式及分析 JUnit、Spring、Intel 大数据 SQL 引擎中的设计模式为我们讲解了常用的设计模式是什么,以及实际的使用场景是怎么样的。
所谓设计模式,既是描述了一种问题的通用解决方案,这种问题经常的出现,而设计模式可以重复的解决它。GOF 经典 23 种设计模式,分为了创建模式、结构模式、行为模式。
工厂模式是一种创建模式,用处是隐藏对象的创建细节,用于创建复杂对象。也可以通过对工厂模式的改造,实现动态修改创建类,实现开闭原则。
单例模式也是一种创建模式,主要用于创建开销比较大的类(如数据量链接)或对于安全有要求的类(如不能同时读写文件)。
单例模式一般分为懒汉式和饿汉式两种,懒汉式在系统初始化时自动创建好实例,好处是代码简单,性能高,缺点是如果没有程序调用,这个开销是无效的;
饿汉式是调用时创建,好处是不会产生无效开销,缺点是代码复杂(需要加锁),且因为有锁无法多线程同时调用,性能稍差。
适配器模式用于处理 2 个系统之间无法直接调用的问题,一般用于被调用方无法修改的情况,通过开发适配器类让被调用方适配调用方接口调用要求。
JUnit 中使用的设计模式包括模板模式、装饰器模式、组合模式,模板模式是大部分的框架均会使用的设计模式,此模式让开发者可以遵循框架的规范进行开发,并由丰富的自由度编写自己需要的业务逻辑。
Spring 中使用了依赖注入和控制反转,这个也是框架常用的设计模式。
评论