spring的工厂模式是怎么创建

2025-05-09 12:04:15

1、静态方法来创建实例,这种方式在代码中比较常见,但这并不是我们今天要说的工厂模式,它只是一个静态工厂个人觉得很难给模式一个语句上的定义,因为这些模式本身只是一些帮助我们养成好的代码习惯的一些建议,它们甚至算不上是一种规范。对于工厂模式,我觉得某一段定义说的是比较准确的。

spring的工厂模式是怎么创建

2、设计模式,也是多年业务逻辑的积累导致,大多数业务场景下,对某一类对象总是要执行相同的流程,但是并不在意这些对象之间的微小差异,这种业务场景就非常符合工厂模式的设计。公共的父类决定了怎么去处理这一类对象,而子类决定了如何创建这些有着微小差异的不同对象。

spring的工厂模式是怎么创建

3、常用的Bean来说,用Spring很多程度上是依赖毋队末哎它的对象管理,也就是IoC容器对于Bean的管理,Spring的IoC容器如何创建和管理Bean其实是比较复杂的,它并不在我们此次的讨论范围中。我们关心的是Spring如何利用工厂模式来实现了更加优良J2EE松耦合设计。

spring的工厂模式是怎么创建

4、工厂有很多种,它们负责创建各种各样不同的Bean,比如Map类型的Bean,List类型的Bean,Web服务Bean,子类们不需要关心单例或非单例情况下是否需要额外操作,只需要关心如何创建Bean,并且创建出来的Bean是多种多样的。

spring的工厂模式是怎么创建

5、违背了开放-关闭原则,对扩展开放,对修改关闭。当有新的HttpClient加入,则需要修改WebCrawler类的代码,但是WebCrawler并不关心具体的HttpClient 的具体类型,它只知道可以使用HttpClient来获取网页信息,然后它自己就可以对这些网页信息就行分析。目前的代码写法导致WebCrawler依赖于具体的HttpClient实现类。

spring的工厂模式是怎么创建

6、如果使用工厂模式,则可以避免这样的尴尬,工厂模式使得WebCrawler不必关心HttpClient 的具体类型,因为这些具体的HttpClient 是由子类具体创建的,自己根本不知道到底有哪些HttpClient类型,它只关心使用。

spring的工厂模式是怎么创建
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢