设计模式之工厂设计模式

工厂设计模式是创建型模式,提供创建对象的最佳方式,包括简单工厂、工厂方法和抽象工厂。简单工厂模式由静态工厂方法创建对象,工厂方法模式通过接口选择具体产品,抽象工厂模式用于创建多个相关产品。工厂模式优点在于降低耦合度,提高扩展性,但会增加系统复杂度。适用场景包括对象有多子类、需要额外操作和系统频繁扩展。工厂模式优于直接向下转型,因为它允许在不修改客户端代码的情况下更换或扩展产品。
摘要由CSDN通过智能技术生成

工厂设计模式

定义
工厂模式是java中最常用的设计模式之一,这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,工厂模式主要是为了创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到一高灵活性的目的

工厂模式根据抽象程度的不同分为三种:
简单工厂模式(也叫静态工厂模式)
工厂方法模式(也叫多形性工厂)
抽象工厂模式(也叫工具箱)

简单工厂模式
实质是由一个工厂类根据传入的参数,动态决定应该去创建哪一个产品类(这些产品继承自一个父类或接口)的实例。简单工厂模式的创建目标,所有创建的对象都是充当这个角色的某个具体类的实例

工厂方法模式
工厂方法是粒度很小的设计模式,因为模式的表现只是一种抽象方法。提前定义用于创建对象的接口,让子类决定实例化具体的某一个类,即在工厂和产品中间增加接口,工厂不在负责产品的创建,由接口针对不同条件返回具体的实例,由具体类实例去实现。

抽象工厂模式
当有多个抽象角色时使用的一种工厂模式,抽象工厂模式可以向客户端提供一个接口,时客户端在不必指定产品的具体情况下,创建多个产品对象。它有多个抽象产品类,每个抽象产品类可以派生出多个具体产品类,一个抽象工厂类,可以派生出多个具体工厂类,每个具体工厂类可以创建多个具体产品类的实例。

抽象的产品类:定义car交通工具类

public interface Car {
   
    void gotWork();
}

定义实际的产品类,总共定义两个,bike和bus分别表示不同的交通工具类

public class Bike implements Car {
   
    @Override
    public void gotowork() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值