java小项目设计模式_java基础-工程设计模式

本文介绍了工厂模式在Java编程中的作用,作为创建型设计模式,它隐藏了对象创建的细节,通过接口提供对象实例。在项目开发中,工厂模式能有效解决类名变更导致的代码修改问题。文章通过创建宝马系列汽车的类和工厂接口来说明如何使用工厂模式,展示了如何在不修改已有代码的情况下,实现不同型号宝马汽车的创建和使用。
摘要由CSDN通过智能技术生成

什么是工厂模式:在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生成你需要的对象之前必须先生成一些辅助功能的对象。 在这些情况,新对象的建立就是一个 “过程”,不仅是一个操作,像一部大机器中的一个齿轮传动。

这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。

90c7e2cb4ab9e51a0094298e01c63d76.png

1b9d02cc45cab25c9783cbb50c702709.png

在项目中很多时候合作开发,每个人代码分工,那么分工合并的过程很容易出问题。比如

96aea4a616a7044adede07ab9b9e8ae9.png

A改类名造成B也得改代码,这时候就出现工厂模式

先建一个接口和具体的类

packagecom.BWM;public interfaceBWM{voidinfo();

}//

//class BWM3 implements BWM{//@Override//public void info() {//System.out.println("BWM3");//}//}//改动

class BWM3i implementsBWM{

@Overridepublic voidinfo() {

System.out.println("BWM3i");

}

}class BWM5 implementsBWM{

@Overridepublic voidinfo() {

System.out.println("BWM5");

}

}class BWM7 implementsBWM{

@Overridepublic voidinfo() {

System.out.println("BWM7");

}

}

然后构建工厂,汽车生产工厂接口,重点

package com.BWM;

public interface BwmFactory {

BWM productBWM();

}

class BWM3Factory implements BwmFactory{

@Override

public BWM productBWM() {

// System.out.println("生产3系宝马");

System.out.println("生产3i系宝马");

return new BWM3i();

}

}

class BWM5Factory implements BwmFactory{

@Override

public BWM productBWM() {

System.out.println("生产5系宝马");

return new BWM5();

}

}

class BWM7Factory implements BwmFactory{

@Override

public BWM productBWM() {

System.out.println("生产7系宝马");

return new BWM7();

}

}

然后测试

packagecom.BWM;public classtest {public static voidmain(String[] args) {

BWM b3= newBWM3Factory().productBWM();

b3.info();

BWM b5= newBWM5Factory().productBWM();

b5.info();

BWM b7= newBWM7Factory().productBWM();

b7.info();

}

}

然后发现改动之后也不用变B开发人员的代码

0653e75a204a1372eaeff318d95d7b0c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值