利用接口实现简单工厂模式

 1 package com.wisezone.factory;
 2
 3 /**
 4  * 使用接口实现一个水果工厂
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public interface Fruit
 9 {
10     void eat();
11 }
 1 package com.wisezone.factory;
 2
 3 /**
 4  * 苹果
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class Apple implements Fruit
 9 {
10
11     @Override
12     public void eat()
13     {
14         System.out.println("夏天吃苹果。。。");
15     }
16
17 }
 1 package com.wisezone.factory;
 2
 3 /**
 4  * 梨
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class Pear implements Fruit
 9 {
10
11     @Override
12     public void eat()
13     {
14         System.out.println("夏天吃梨。。。");
15
16     }
17
18 }
 1 package com.wisezone.factory;
 2
 3 /**
 4  * 简单工厂模式----利用接口----实现水果工厂
 5  * @author 王东海
 6  * @2017年4月16日
 7  */
 8 public class FactoryInterface
 9 {
10     public static Fruit product(String type){
11         if ("apple".equalsIgnoreCase(type))
12         {
13             return new Apple();
14         }else if ("pear".equalsIgnoreCase(type))
15         {
16             return new Pear();
17         }
18         return null;
19     }
20
21     public static void main(String[] args)
22     {
23         Fruit fruit = FactoryInterface.product("apple");
24         fruit.eat();
25     }
26 }

结果为:夏天吃苹果。。。

时间: 2024-08-04 02:40:45

利用接口实现简单工厂模式的相关文章

C++利用反射和简单工厂模式实现业务模块解耦

1. 业务说明 为了便于说明,举一个简单的例子.假设现在有一个项目需要建立一个和银行交互的平台,目前只接入工商银行,后续接入其他银行,每个银行的业务都有差异,报文格式可能也不一致. 这里只列举几个简要的流程,仅包括拼报文,发送报文,接收报文,解析报文,其余整体架构以及后续处理等内容省略. 2. 初步设计 创建一个银行交互类 BankOpt,包括四个函数: int setMsg(); //拼报文 int sendMsg(); //发送报文 int getMsg(); //接收报文 int pars

23种设计模式(2)-简单工厂模式

这些设计模式都是在这么多年的软件开发中,先辈对软件重构的经验总结提炼的结果,这些设计模式要遵循软件设计的六原则.每一种设计模式都有相应的需求场景的.有了这些设计模式的思想和面向对象的思想,在软件设计特定的需求中会给你解决思路. 一,需求场景 在此,我也借用书上看到的一个例子.计算器工厂给我们留了一些任务,设计一个计算器做成成品卖给买家.但是这个任务是分两个阶段让我们实现的.如下: 阶段一:买家目前只需要计算器具有加减程序的功能即可.别的功能待市场需求再做设计.也就是阶段二的任务. 阶段二:阶段一

【Javascript设计模式】第二课 神奇的魔术师——简单工厂模式

所谓简单工厂模式就是由一个方法来决定到底要创建那个类的实例,而这些实例经常都拥有相同的接口. 简单工厂模式主要运用一下几种情况(添加个人理解) 1.对象的构建有规律性,大部分相同只有个别不同,重复代码多 2.需要依赖具体环境创建不同的实例 3.处理大量具有相同属性的小对象 具体我们来看一个小例子: 大家在开发过程中经常遇到登陆模块,首先看以下的的具体的需求: 1.用户在输入框中输入的内容不符合规范,需要定义一个提示框提示:"您输入的内容不符合规范,请重新输入" 2.用户登陆提示用户不存

C#设计模式(2)——简单工厂模式(Factory )

我们通过 Factory 创建对象不同的对象. 例如:如果创建一个汽车的接口,通过 工厂Factory 创建实现接口的对象,根据我们的选择来创建不同的对象. 创建汽车接口 /// <summary> /// 简单工厂模式 /// </summary> public interface IAutoCarMake { /// <summary> /// 创建汽车 /// </summary> void CreateAutoCar(); } 创建两个派生类,分别实

JAVA笔记7__接口应用/Object类/简单工厂模式/静态代理模式/适配器模式

/** * 接口应用 */ public class Main { public static void main(String[] args) { Person p = new Person("fish7"); p.setIsay(new BeforeGong()); p.say(); p.setIsay(new AfterGong()); p.say(); } } class Person{ //只有在运行期才和say行为关联起来,这就叫面向接口编程 private String

项目设计之一------简单工厂模式利用

简单工厂模式可以结合反射进行实现,这样的解耦更好 项目设计之一------简单工厂模式利用,布布扣,bubuko.com

设计模式(一)——简单工厂模式

嵌入式linux 设计模式(一)--简单工厂模式 一.简单工厂模式简介 1.简单工厂模式 简单工厂模式(Factory Method Pattern)是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例. 简单工厂模式的UML类图 工厂角色(Creator):是简单工厂模式的核心,由它负责创建所有的类的内部逻辑.工厂类必须能够被

简单工厂模式(SimpleFactory)

最近在研究Java设计模式,因此把自己在学习过程中的体悟记录下来,以方便以后复习使用. 1.简单工厂的本质: 选择实现,根据语义我们知道简单工厂的重点是在选择上而不是实现上. 2.何时选用简单工厂: 1.如果想要完全封装隔离具体实现,让外部只能通过接口来操作封装体,那么可以选用简单工厂,让客户端通过工厂来获取相应的接口,无须了解具体实现. 2.如果你想要把对外创建对象的职责集中管理和控制,可以选用简单工厂,一个工厂可以创建很多的,不相关的对象. 3.优缺点 优点:更好的实现了面向接口编程,并且使

java语言实现创建型模式——简单工厂模式

一.描述 简单工厂模式又名静态工厂方法模式,是所有工厂模式中最简单的一个,它定义一个具体的工厂类来负责创建所有类的对象并初始化创建的对象,它主要由3部分组成:工厂类.抽象类.实现抽象类的具体类,然后通过客户端调用工厂类创建相应的对象. 注意:简单工厂模式不属于GoF总结的23种设计模式,它是相当于初学java的HelloWorld案例,帮助初学者了解设计模式,增长信心的一个设计模式. 二.简单工厂模式的优缺点 优点:相对于直接在客户端创建对象并初始化对象的值来说,简单工厂模式将创建对象和初始化任