美文网首页技术文章推荐
设计模式之Factory模式 代码初见

设计模式之Factory模式 代码初见

作者: V哥的博客 | 来源:发表于2019-03-09 06:11 被阅读0次

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

    好看

    一般情况下,我们创建对象使用的是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工作时期的技术积累和国外初创公司的经验总结?

    image

    敬请关注:

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

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

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

    相关文章

      网友评论

        本文标题:设计模式之Factory模式 代码初见

        本文链接:https://www.haomeiwen.com/subject/ocvjpqtx.html