Spring IOC初步学习-通用工厂设计
强烈推荐B站孙哥的视频,把工厂模式的作用与优点讲的非常好。自己概括了一下,通用工厂设计大致就是为了降低耦合度把一些重复行为抽象出来,以配置文件的形式标注好,这样就避免了重复修改代码的过程。
更详细地说,如果以调用构造函数的方式创建一个类的对象,那么创建n个新对象就要以"new+类名"的方式创建n次,但假设这时我们修改了原来的类名,或在此处需要调用新的类,则需要重复修改n次创建对象的过程,为了简化这个过程,我们新建一个工厂类,并在工厂类里写出创建对象的方式,这样只要调用工厂类中的方法便可以创建对象,这样在修改调用的时候只需修改工厂类中的方法,而不需对所有创建过程进行修改。
进一步,如果为每个类都创建一个工厂类来调用创建对应对象的过程,难免过于麻烦且造成代码冗余,于是我们把这些工厂类的代码提炼出来,抽象为一个通用的对象创建过程,区别在于不同的类创建对象时需要不同的参数,而这些参数便对应配置文件中的key,相应的值便是对应类的路径,这些值在配置文件中可以方便找到和修改。
通过这种方式,大大降低了耦合度,并提高了可操作性。
视频链接:https://www.bilibili.com/video/BV185411477k?p=12&spm_id_from=pageDriver