书中得来不觉浅
读书心得,知识点总结。
小码哥会用狙
这个作者很懒,什么都没留下…
展开
-
我学设计模式之枚举实现单例模式说明
之前书上看到枚举实现单例模式,没用过,真正用的时候发现很多好处,记录一下。利用枚举实现单例,每个枚举量都是枚举类的一个对象,即。原创 2023-03-10 16:48:11 · 115 阅读 · 0 评论 -
每天一条EffectiveJava:用私有构造器或枚举类型强化Singleton属性
不积跬步无以至千里,不积小流无以成江海。Singleton是指仅仅被实例化一次的类。Singleton通常会被用来本质上唯一的系统组件,比如窗口管理器或者文件系统。实现Singleton的两种方法,这两种方法都要把构造器保持为私有的,并导出公有的静态成员,以便允许客户端能够访问该类的唯一实例。在第一种方法(饿汉式)中,公有静态成员是个final域://Singleton with public final fieldpublic class Elvis { public static fin原创 2020-12-01 22:41:51 · 109 阅读 · 0 评论 -
一天一条effective Java:遇到多个构造器参数时考虑用构建器
亡羊补牢,未为迟也。当我们遇到参数较多的构造器时,可考虑Builder模式。将众多参数分为必要参数和可选参数,如此既解决了构建对象时必须填写可选参数的问题,同时使得程序更具可读性。当然,你说可以重载构造器,提供多种构造方法,但当其他人想创建对象时,可能会一脸懵,我应该用哪个?我们用的更多的是JavaBean模式,调用无参构造器创建对象,然后setter属性值,这种方式构建简单且易读,但将对象的构建拆分成为不同的过程中,可能会导致线程安全性问题。因此有了该条建议:使用Builder模式。下边是Bu原创 2020-11-30 22:41:04 · 133 阅读 · 1 评论 -
一天一条EffectiveJava:考虑用静态工厂方法代替构造器
此处的静态工厂方法有别于设计模式中的工厂模式:泛指能够返回类的一个实例的静态方法。例如Boolean的valueOf方法: /** * The {@code Boolean} object corresponding to the primitive * value {@code true}. */ public static final Boolean TRUE = new Boolean(true); /** * The {@code Bool原创 2020-10-19 20:41:05 · 121 阅读 · 0 评论