• 设计模式之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的传送门

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

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

  • 相关阅读:
    solr 笔记
    oracle 相关笔记
    Linux之shell
    Linux 笔记2
    Linux 笔记1
    ConfigurationClassParser类的parse方法源码解析
    ConfigurationClassPostProcessor类的processConfigBeanDefinitions方法源码解析
    spring-ConfigurationClassUtils类
    有关金融的一些专有名词的解释
    centos7安装hadoop3.2.1集群
  • 原文地址:https://www.cnblogs.com/vigorz/p/10501955.html
Copyright © 2020-2023  润新知