工场形式分类:
1)简朴工场形式(Simple Factory)
2)工场要领形式(Factory Method)
3)笼统工场形式(Abstract Factory)
相干视频教程引荐:java进修
简朴工场形式
简朴工场形式又称静态工场要领形式。重命名上就能够看出这个形式肯定很简朴。它存在的目标很简朴:定义一个用于建立对象的接口。
1) 工场类角色:这是本形式的中心,含有肯定的贸易逻辑和推断逻辑。在java中它每每由一个细致类完成。
2) 笼统产物角色:它平常是细致产物继续的父类或许完成的接口。在java中由接口或许笼统类来完成。
3) 细致产物角色:工场类所建立的对象就是此角色的实例。在java中由一个细致类完成。
笼统工场形式:
笼统工场形式的用意为:给客户端供应一个接口,能够建立多个产物族中的产物对象
而且运用笼统工场形式还要满足一下前提:
1)体系中有多个产物族,而体系一次只能够消耗个中一族产物。
2)同属于同一个产物族的产物以其运用。
笼统工场形式的各个角色(和工场要领的千篇一律):
1)笼统工场角色: 这是工场要领形式的中心,它与应用程序无关。是细致工场角色必需完成的接口或许必需继续的父类。在java中它由笼统类或许接口来完成。
代码显现:
实例:面条工场 完成工场形式 ···
下面展现一些 刀削面 代码片
package am2; public class Daoxiaomian extends Miantiao{ public void show(){ System.out.println("我生产刀削面"); } }
下面展现一些 工场形式 代码片
package am2; /** * 工场形式 * @author hadoop * */ public class Factory { public static final String XIMIANTIAO="ximiantiao"; public static final String KUANMIANTIAO="kuanmiantiao"; public static final String DAOXIAOMIAN="daoxiaomian"; public static Miantiao getMiantiao(String name){ Miantiao miantiao = new Miantiao(); switch(name){ case "ximiantiao": miantiao = new Ximiantiao(); break; case "kuanmiantiao": miantiao = new Kuanmiantiao(); break; case "daoxiaomian": miantiao = new Daoxiaomian(); break; } return miantiao ; } }
下面展现一些 宽面条 代码片
package am2; public class Kuanmiantiao extends Miantiao{ public void show(){ System.out.println("我生产宽面条"); } }
下面展现一些 实例化 代码片
package am2; public class Miantiao { public void show(){ } }
下面展现一些 细面条 代码片
package am2; public class Ximiantiao extends Miantiao{ public void show(){ System.out.println("我生产细面条"); } }
下面展现一些 工场形式 测试类 代码片。 从工场中猎取种种面条 代码片
package am2; /** * 工场形式,我想从工场猎取到种种面条 * * @author hadoop * */ public class Test { public static void main(String[] args) { Miantiao miantiao = Factory.getMiantiao(Factory.XIMIANTIAO); miantiao.show(); Miantiao miantiao1 = Factory.getMiantiao(Factory.KUANMIANTIAO); miantiao1.show(); Miantiao miantiao2 = Factory.getMiantiao(Factory.DAOXIAOMIAN); miantiao2.show(); } }
相干文章引荐:java言语入门
以上就是java中关于工场形式的细致引见的细致内容,更多请关注ki4网别的相干文章!