week3 学习总结
上周是十分忙碌的一周吧,基本天天11点下班,周末又搬家,所以没来的急学习架构师的课,所以是直接做的作业,所以总结下做作业过程中的学习心得吧。
首先是单例模式,单例分为懒汉和饿汉,顾名思义,单例,只有一个实例,那么对象不能有public的构造方法。懒汉和饿汉,一个是一开始直接初始化new 一个单例对象,一个是等到需要的时候new。不追求极致性能的情况下,显然,懒汉要简单很多,而饿汉相对来说就要复杂一些。(具体代码回头补) 但是个人认为,你要写饿汉式,不要在获取单例的方法上加 Synchronized 关键字,为什么这样说呢,你本来是为了追求极致性能,一开始不new,这个时候你在方法上加 Synchronized 关键字,虽然保证了线程安全,但是每次获取单例都有较大的性能开销,这明显是违背初心的。
第二个组合模式,其实对这个模式,以前没怎么接触过,晚上查看了各种资料,总结一下。
优点
高层模块调用简单--对于高层来说,所有的看到都是 component(组件)
节点的增加十分便捷,便于维护
缺点
直接使用类,没有面向接口编程,违背了依赖倒置原则
使用场景
部分—整体,如:树形菜单、文件等
从整体中能够独立出部分模块或者功能的场景
ok~
版权声明: 本文为 InfoQ 作者【张健】的原创文章。
原文链接:【http://xie.infoq.cn/article/c38c2d0fb3692074b1c203081】。文章转载请联系作者。
评论