Java设计模式——工厂设计模式
发布时间:2020-12-13 21:20:13 所属栏目:PHP教程 来源:网络整理
导读:学习Java的同学注意了!!! 学习进程中遇到甚么问题或想获得学习资源的话,欢迎加入Java学习交换群,群号码: 183993990 我们1起学Java! 工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应当实例化那1个类。 工厂模式的形态 工厂模式主要用
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应当实例化那1个类。 工厂模式的形态工厂模式主要用1下几种形态: 1:简单工厂(Simple Factory)。 2:工厂方法(Factory Method)。 3:抽象工厂(Abstract Factory)。 简单工厂(Simple Factory) 又叫静态工厂,是工厂模式3中状态中结构最为简单的。主要有1个静态方法,用来接受参数,并根据参数来决定返回实现同1接口的不同类的实例。我们来看1个具体的例子: 假定1家工厂,几生产洗衣机,有生产冰箱,还有空调等等.. 我们先为所有产品定义1个共同的产品接口
接着我们让这个工厂的所有产品都必须实现此接口 class Washer implements Product{ 接下来我们来写1个工厂类,有它来负责生产以上的产品 SimpleFactory { staticvoid main(String[] args) { 但,实际上,这个有很多的局限。首先,我们每次想要增加1种新产品的时候,都必须修改的原代码。其次,当我们具有很多很多产品的时候,而且产品之间又存在复杂的层次关系的时候,这个类必须具有复杂的逻辑判断能力,其代码量也将不断地激增,这对以后的保护简直就是恐怖两个字... 还有就是,全部系统都严重依赖类,只要类1出问题,系统就进入不能工作的状态,这也是最为致命的1点.... 以上的不足将在工厂模式的另外两种状态中得到解决。 工厂方法(Factory Method) 上面的代码告知我们,简单工厂其实不简单,它是全部模式的核心,1旦他出了问题,全部模式都将受影响而不能工作,为了下降风险和为往后的保护、扩大做准备,我们需要对它进行重构,引入工厂方法。 工厂方法为工厂类定义了接口,用多态来削弱了工厂类的职能,以下是工厂接口的定义: Factory{ 1下是实现了产品接口的产品类 接下来,就是工厂方法的核心部份,也就是具体创建产品对象的具体工厂类, //创建洗衣机的工厂 CreateWasher public Product create(){ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |