架构师训练营第 1 期第 3 周学习总结

单例模式
系统中只有一个对象时,可以使用,方便统一管理,是功能需求。当需要频繁创建删除时,可以节省CPU时间,是性能需求。
普通饿汉式单例模式关键点:
构造函数是private的。
getInstance函数是public static的。
对象构造在类内部,用static标记。
应用一启动,就会创建,并加载到内存。空间换时间。
懒汉式单例模式:
对象在getInstance内部创建,创建时需要加锁,防止多线程竞争。
调用getInstance时才创建,时间换空间。
工厂模式
需要批量构造不同对象时使用。替换if else。但频繁调用时,会有性能影响。

适配器模式
旧接口无法匹配新实现时,使用适配器模式。
包括被适配对象,适配器,以及使用者。

策略模式
一个函数需要多种算法实现时。比如电梯平时可用所有楼层都停的策略,高峰期可以使用一部电梯负责高层,一部电梯负责低层的策略。

装饰器模式
调用当前函数前,先调用装饰器的方法。

模板模式
父类定义某一个接口,子类负责实现。父类也可以实现一部分,子类替换。

注意:如有侵权,请联系作者删除,谢谢
评论