静态工厂方法优缺点个人理解

静态工厂方法是很常用的一种设计模式(严格来说,并不是),总结优缺点如下:

优点:
1、可以有合理的名称。
2、不必每次调用的时候创建新的实例。比如单例模式。
3、可以返回原类型的任何子类型。
4、优化整体代码结构,增强可阅读性。

缺点:
1、“静态工厂方法的主要缺点在于,类如果不含有公有的或者受保护的构造器,就不能被子类化”。上面这句话,摘自“effective java”初看比较诧异,有种不知所云的感觉。后来思考了一下,这句话大概是这么理解的。
一个类若是选择静态工厂,那么一般会把创建方法标志成私有的,而用创建方法去调用(比如,getInstance)。这会影响其子类化的可实现性。

2、本质上与其他静态方法并无任何缺陷,没有明确标识。

你可能感兴趣的:(java)