放假无聊在家看设计模式《head first系列》,今天看了工厂模式,分为三种:
简单工厂模式
工厂模式
抽象工厂模式
首先这3个奇葩的名字,我真是醉了,虽说干了很多年,但是真还没怎么用过,这些东西都是各类框架实现的技术,比如spring,jdbc以及log4j之类的,真实的业务场景我还真没咋用过,谁帮忙普及下。
别整网上那些没营养的例子,什么汽车啊,鸭子啊,披萨啊,真是无聊,难道都不是用数据库表存各种属性吗?非要建立出那么多类,可能是想帮助人理解吧,但实际业务场景压根没有啊,谁说出来我服谁?求喷!
我后续还有若干求喷文,希望大家踊跃的喷我~
你说对业务上没有用到这个可以理解,还有不要认为只有类名称为Factory的才是工厂,比如UUID对象,目前有4种版本UUID,都不是new实例化的,通过一个Factory产出各种版本的UUID,通常这样设计的原因是为了解决大量同接口类的创建问题,经过分组抽象后,方便进行统一管理,类似的还有encoding charset