java设计模式——工厂模式
来源:互联网 发布:复旦大数据学院研究生 编辑:程序博客网 时间:2024/05/17 20:12
假设我们定义一个接口:
interface Work{public void tag();}
class SuvCar implements Work{public void tag(){System.out.println("这是保时捷旗下某一款suv车型");}}class TwoDoorCar implements Work{public void tag(){System.out.println("这是保时捷旗下某一款两门跑车");}}class FourDoorCar implements Work{public void tag(){System.out.println("这是保时捷旗下某一款四门轿车");}}
这种情况下,我们想要使用这三个类那就通过这三个类的实例:
public class Test {public static void main(String[] args) {SuvCar car = new SuvCar();car.tag();}}
这样一来我们可以看到,对于使用的人而言要知道SuvCar、TwoDoorCar以及FourDoorCar这三个类,使用者直接使用了具体的类,一旦这三个具体类发生改变,那调用就会出错,使用者将会受到影响。可见,使用者与被使用者之间联系太紧密了。为了避免这个问题可以使用工厂设计模式。
建一个工厂类:
class Factory{public static Work getWork(String product){if(product.equals("suv")){return new SuvCar();}else if(product.equals("two")){return new TwoDoorCar();}else if(product.equals("four")){return new FourDoorCar();}else{return null;}}}这样的话,使用者只需要依赖这个工厂即可,无需依赖于具体的类:
public class Test {public static void main(String[] args) {Work work = Factory.getWork("four");if(work!=null){work.tag();}}}
减少耦合,把依赖于具体转变成依赖于接口。
0 0
- Java设计模式—工厂设计模式
- Java设计模式—工厂方法模式&抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- JAVA设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- java设计模式——工厂模式
- Java设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- Java设计模式——工厂模式
- 看《前端自学方法指导》记录
- HTML5 LocalStorage 本地存储
- OSX安装meteor时候CURL报SSL证书无效,curl: (60) SSL certificate problem: Invalid certificate chain
- nodemcu开发之旅(1)
- 高德地图-AndroidStadio-No implementation found for long com.autonavi.amap.mapcore.MapCore.nativeNewInsta
- java设计模式——工厂模式
- php数组合并两个数组(一个数组做键名,另一个做值)
- 对象数组
- ios 获取当前屏幕的ViewController
- 为tableView中的一组cell添加边框
- 【图像处理】图像几何变换基础(非弹性变换下如何计算旋转矩阵)
- [华为机试]扑克牌大小
- 从耗子叔vim攻略上新学到的以及遗忘但又捡起来的VIM技巧
- 勾股定理每日一证 1