最最直观的好处就是吹牛逼,看着要比普通创建对象要屌
好看
一般情况下,我们创建对象使用的是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()
网友评论