简单工厂模式的构成
1、工厂类角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,他往往由一个具体类实现。
2、抽象产品角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
3、具体产品角色:简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。
工厂类角色:PersonFactory.java
抽象产品角色:person.java
测试客户端:Client.java
1、工厂类角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对象,他往往由一个具体类实现。
2、抽象产品角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。
3、具体产品角色:简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。
工厂类角色:PersonFactory.java
package com.test.simplefactory; public class PersonFactory { public Person getPerson(String name) { if("america".equals(name)) { return new America(); } else if ("chinese".equals(name)) { return new Chinese(); } else { return null; } } }
抽象产品角色:person.java
package com.test.simplefactory; public interface Person { public String sayHello(String name); public String sayGoodbye(String name); } 具体产品角色: Chinese.java package com.test.simplefactory; public class Chinese implements Person { public String sayGoodbye(String name) { // TODO Auto-generated method stub return "再见,"+name; } public String sayHello(String name) { // TODO Auto-generated method stub return "你好,"+name; } } America.java package com.test.simplefactory; public class America implements Person { public String sayGoodbye(String name) { // TODO Auto-generated method stub return "good bye,"+name; } public String sayHello(String name) { // TODO Auto-generated method stub return "hello,"+name; } }
测试客户端:Client.java
package com.test.simplefactory; public class Client { /** * @param args */ /** * 简单工厂模式的构成 * 1、工厂类角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。 * 工厂类在客户端的直接调用下创建产品对象,他往往由一个具体类实现。 * 2、抽象产品角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个接口或者抽象类实现。 * 3、简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。 */ public static void main(String[] args) { // TODO Auto-generated method stub /* Person chinese = new Chinese(); System.out.println(chinese.sayHello("张三")); System.out.println(chinese.sayGoodbye("张三")); Person america= new America(); System.out.println(america.sayHello("Tom")); System.out.println(america.sayGoodbye("Tom"));*/ //采用工厂模式后,我们不在关心Chinese类和America类,只需要传入相应参数即可。 PersonFactory factory = new PersonFactory(); Person chinese = factory.getPerson("chinese");//工厂类负责生成一个具体对象 System.out.println(chinese.sayHello("张三")); System.out.println(chinese.sayGoodbye("张三")); Person america = factory.getPerson("america");//工厂类负责生成一个具体对象 System.out.println(america.sayHello("Tom")); System.out.println(america.sayGoodbye("Tom")); } }
相关推荐
简单工厂模式示例 有注释 需要的朋友可以下载研究 很简单很基础的一个设计模式
本文介绍了抽象工厂模式的定义、使用场景、主要角色以及相应的类图,并提供了Java示例代码以帮助读者更好地理解该模式的实现方法。抽象工厂模式为创建一组相关或相互依赖的对象提供了一个接口,而不需要指定它们的...
java设计模式示例 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型...
简单工厂模式java示例demo,来自刘伟老师的《设计模式》一书
java设计模式,工厂模式(简单工厂、工厂、抽象工厂)示例源码 //简单工厂 // ICar car = CarSimpleFactory.create(CarSimpleFactory.UPTYPE); //工厂 AbstractFactory factory = new MidFactory(); ICar car =...
工厂设计模式,用Java写的一个项目,作为接触设计的初学者入门的一个详细示例。 分为3个包,工厂、抽象工厂。
设计模式练习-简单工厂-JAVA简单工厂练习示例。
设计模式中工厂模式的示例代码,包括简单工厂、工厂模式、抽象工厂等
这个简单工厂的示例中,用工厂类来创建实际的运算操作!易于功能的扩展……
java23种设计模式+23个实例demo: 关于代码的几点说明: 1. 代码为根据个人对Design Pattern的学习理解写出, 2. 每个Pattern均是一个目录,其目录名即是Pattern的名字, 所有代码用JDeveloper 9i 和JBuilder 6.0编写...
抽象工厂模式代码示例,使用JAVA代码演示。配有说明文档,有助于对抽象工厂模式的理解。
文件类型为PDF文件,此文档对20多种java设计模式进行了详细讲解,在中文讲解的过程中还附有代码示例给学习者进行参考,使学习者通过实践更容易理解设计模式的原理。 本文档目录: 1.工厂模式 2.单例模式 3.建造...
Java设计模式是软件开发中常见问题的标准解决方案,它们是经过时间考验和实践证明的有效设计方法。设计模式的目标是提高代码的可重用性、可维护性和可读性,同时减少设计和实现中的复杂性。 Java设计模式可以分为...
先来看看,简单工厂模式——也叫静态工厂模式,这里举个例子:你要去买一台手机,你不用关心手机是怎么生产出来的,里面的零件具体又是怎么制造的,这些通通都交给工厂去处理,你尽管去买手机就好了。 简单工厂模式...
23个设计模式之一的装饰模式,java编写的代码示例,极客学院课程的设计模式下载的课件资料,附上Head First设计模式第三版的pdf,另外还有UML基础,案例与应用的pdf
主要介绍了Java设计模式笔记之抽象工厂代码示例,见解独到,代码详细,具有一定参考价值,需要的朋友可以了解下。
一些常用的设计模式,比如工厂模式、策略模式、观察者模式等,适合对设计模式感兴趣的开发者
24种设计模式的入门,整合7种开发语言的代码示例。 (C#、JAVA、JavaScript、C++、Python、Go、PHP) 第一节 设计模式:学习顺序 第二节 简单工厂模式 第三节 工厂方法模式 第四节 抽象工厂模式 第五节 单例模式 第...
简单工厂,工厂模式,抽象工厂示例代码