设计模式之Factory工厂模式的好处

最最直观的好处就是吹牛逼,看着要比普通创建对象要屌

好看

一般情况下,我们创建对象使用的是new。
Sample sample=new Sample();

然而,实际情况会比这样复杂的多,比如说
Sample sample=new Sample(超级无敌长、超级无敌多、超级无敌难记、超级无敌容易出错的参数);

这时候,我们的代码会非常难看了,相当于把一箩筐的鸡蛋全放在一个篮子里,维护起来将会很困难,也容易出错。

避免new很多东西

假如说我们要创建一个对象,而创建这个对象必须要创建很多个对象才可以实现相应的功能,可想而知,这样开发难度和维护难度会很高。

举个例子:
制造一个宝马汽车X3的车,一般情况我们需要制造轮子、引擎、座位等等;可是如果有一个BMWX3Factory的话,调取该Factory就可以直接制造。

避免混淆

Sample sample=new Sample(超级无敌长、超级无敌多、超级无敌难记);
Sample sample=new Sample(超级无敌长、超级无敌多、超级无敌难记、超级无敌容易出错的参数);
Sample sample=new Sample(超级无敌长、超级无敌多、超级无敌好记、超级无敌容易出错的参数);

这三个创建对象的方法非常相似,就只有一个参数不一样,有时候就是会弄混!

实际例子

我们知道数据库有多种oracle,db2,sql server,如果,我们每次都要自己初始化连接对象将会蛋疼,因为每次都要自己实现一遍,每次实现的代码有可能都不一样,出错了就会很难维护。

那么通过使用工厂模式,我们只需要记住创建对象的名字就好了,剩下的交给Factory创建就好了,也方便后期的维护。

比如说,DB2的SSL连接
DBconnection sample = DBFactory.createDB2SSLConnection()

比如说,SQL的连接
DBconnection sample = DBFactory.createSQLConnection()

如果说是建造者模式的话,就是一块一块参数的拼接,同样很方便

DB2的SSL连接

DBconnection sample = new DBconnection().withDBtype(DB).withHTTPS()

参考


想要看到更多玮哥的学习笔记、考试复习资料、面试准备资料?想要看到IBM工作时期的技术积累和国外初创公司的经验总结?

敬请关注:

玮哥的博客 —— CSDN的传送门

玮哥的博客 —— 简书的传送门

玮哥的博客 —— 博客园的传送门

猜你喜欢

转载自www.cnblogs.com/vigorz/p/10501955.html