简单工厂模式和工厂模式的区别

简单工厂模式:就是通过有一个工厂类传递过来一个参数决定创建哪一张产品的实例。优点:产品类的等级结构不会反映到工厂类中。从而产品类的结构变化不会影响到工厂类的    变化。缺点是:增加新的产品需要改动对应的工厂类的变化;由于简单工厂模式是作为静态方法作为工厂方法,而静态方法无法被子类继承,因此工厂角色无法形   成基于继承的等级结构。


工厂模式:  简单工厂模式,因为新的产品类加入到系统中,就需要修改工厂类,讲必要的逻辑加入到工厂类中,对开闭原则支持不够。

                      在工厂模式中,核心的工厂类不在负责所有产品的创建,只是交由子类去实现,仅仅负责给出子类必须实现的接口。这种抽象的结果,是这种产品在不修改具体工厂的

                     情况下引进新的产品。

抽象工厂模式: 抽象工厂模式和工厂模式的区别在于:工厂模式是针对一个产品登记,而抽象工厂模式针对的是多个产品等级。如果系统中有两个产品族,而只想用一个工厂族的                              话,使用抽象工厂模式,但每个工厂就需要提供不止一个的实现方法。

单例模式:单例模式可以减低系统创建对象消耗的资源,提供一个全局型的访问点。在单例中是不能允许系统进行创建的,因此一般来说它的构造方法应该是私有的。


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简单工厂模式和抽象工厂模式是两种不同的创建型设计模式,它们在实现上有一些区别简单工厂模式(Simple Factory Pattern): - 简单工厂模式通过一个工厂类来创建对象,客户端通过调用工厂类的静态方法或非静态方法来获取所需的具体产品对象。 - 工厂类根据客户端传入的参数来决定创建哪种具体产品的对象。 - 简单工厂模式只有一个具体工厂类,负责创建所有类型的产品对象。 抽象工厂模式(Abstract Factory Pattern): - 抽象工厂模式通过引入一个抽象工厂接口和多个具体工厂类来创建对象。 - 抽象工厂接口定义了一系列创建产品的方法,每个具体工厂类负责实现这些方法以创建特定类型的产品对象。 - 客户端通过使用特定的具体工厂类来创建一组相关的产品对象,这样可以保证这些产品对象在一起使用时能够协调和兼容。 主要区别: - 简单工厂模式只有一个工厂类,所有产品的创建逻辑集中在该类中。而抽象工厂模式引入了多个具体工厂类,每个具体工厂类负责创建一组相关的产品。 - 简单工厂模式创建的是单个产品对象,而抽象工厂模式创建的是一组相关的产品对象。 - 简单工厂模式的客户端只与工厂类交互,而抽象工厂模式的客户端与抽象工厂接口以及具体工厂类交互。客户端可以通过替换具体工厂类来改变创建不同产品的行为。 选择使用简单工厂模式还是抽象工厂模式取决于具体的应用场景和需求。简单工厂模式适用于创建单一类型的产品对象,而抽象工厂模式适用于创建一组相关的产品对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值