面试过程中,面试官问我熟悉的 设计模式,
自己回答了一个,工厂模式,说比如在 spring 中的 beanFactroy 及 applicationContextFactory 都是 用到了工厂模式。
面试官再问:beanFactory 是哪种工厂模式 ,自己,,,,(菜鸡,面试官估计心里想:学这样的还来面试???)
后来自己学习查资料,听课程,总结一下
分为 三种
简单工厂模式(实际中用到少,小作坊型生成,一个小作坊,可以产生多个对象)
工厂方法模式(标准的规范的,不同种类分成多个不同种类的工厂)
抽象工厂模式(工厂的工厂,它生成标准工厂,通过工厂来得到自己想要的,通过内部扩展,用户不知道进行修改了,对工厂方法模式的 进一步扩展)
spring 中beanFactory 的工厂为 抽象工厂模式,抽象工厂模式按照菜鸟 教程的描述,他是工厂模式中创建对象的最好的方式。
在Mybatis 框架中 我们常见的的 SqlSessionFactory 用到的我为工厂方法模式,但SqlSessionFactory Bulider 以为用到
用到的为建造者模式。
因此上面总结的 抽象工厂模式的理解还有问题,先发出去,不让他在草稿箱,督促自己再研究
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。