Java 工厂方法模式
在工厂对象上调用创建方法,生成接口的某个实现的对象
通过这种方式,接口与实现分离
- 方法接口
 
/**
 * 方法接口
 */
public interface Service {
    void method1();
    void method2();
}
- 工厂方法接口
 
/**
 * 工厂方法接口
 */
public interface ServiceFactory {
    Service getService();
}
- 方法实现
 
/**
 * 实现类1
 */
public class Impl1 implements Service {
    public void method1(){System.out.println("Impl1 method1");}
    public void method2(){System.out.println("Impl1 method2");}
}
/**
 * 实现类2
 */
public class Impl2 implements Service{
    public void method1(){System.out.println("Impl2 method1");}
    public void method2(){System.out.println("Impl2 method2");}
}
- 工厂方法实现
 
public class ImplFactory1 implements ServiceFactory {
    public Service getService(){
        return new Impl1();
    }
}
public class ImplFactory2 implements  ServiceFactory{
    public Service getService(){
        return new Impl2();
    }
}
- 测试
 
public class Test {
    public static void main(String[] args){
        ServiceFactory sf1 = new ImplFactory1();
        Service s1 = sf1.getService();
        s1.method1();
        s1.method2();
        ServiceFactory sf2 = new ImplFactory2();
        Service s2 = sf2.getService();
        s2.method1();
        s2.method2();
    }
}
												
											Java 工厂方法模式的更多相关文章
- 设计模式(三)——Java工厂方法模式
		
工厂方法模式 1 看一个新的需求 披萨项目新的需求:客户在点披萨时,可以点不同口味的披萨,比如 北京的奶酪 pizza.北京的胡椒 pizza 或者是伦敦的奶酪 pizza.伦敦的胡椒 pizza. ...
 - Java工厂方法模式
		
工厂方法模式: /** * 工厂方法模式:也叫工厂模式,属于创建型模式,父类工厂(接口)负责定义产品对象的公共接口, * 而子类工厂负责创建具体的产品对象. * 目的:是为了把产品的实例化操作延迟到子 ...
 - java 工厂方法模式简单实例
		
工厂方法模式:也叫工厂模式,属于类创建型模式,工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象. 目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究 ...
 - Java 工厂方法模式的简单示例
		
工厂方法模式:也叫工厂模式,属于类创建型模式,工厂父类(接口)负责定义产品对象的公共接口,而子类工厂则负责创建具体的产品对象. 目的:是为了把产品的实例化操作延迟到子类工厂中完成,通过工厂子类来决定究 ...
 - JAVA工厂方法模式(Factory Method)
		
1.普通工厂模式 普通工厂模式:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建. 1-1.建立Sender接口 public interface Sender { public void ...
 - Java设计模式(二) 工厂方法模式
		
本文介绍了工厂方法模式的概念,优缺点,实现方式,UML类图,并介绍了工厂方法(未)遵循的OOP原则 原创文章.同步自作者个人博客 http://www.jasongj.com/design_patte ...
 - JAVA设计模式--工厂方法模式
		
工厂方法设计模式 抽象工厂角色: 这是工厂方法模式的核心,它与应用程序无关.是具体工厂角色必须实现的接口或者必须继承的父类.在java中它由抽象类或者接口来实现.具体工厂角色:它含有和具体业务逻辑有关 ...
 - Java设计模式3:工厂方法模式
		
工厂方法模式 工厂方法模式是类的创建模式.工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工厂推迟到子类中. 工厂方法模式 工厂方法模式是对简单工厂模式进一步抽象的结果. 假如是不使用反 ...
 - java设计模式(二)---工厂方法模式
		
2普通工厂方法模式 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建. 2.1创建接口 /** * 发送接口 * Created by mrf on 2016/2/25. */ public ...
 
随机推荐
- day63
			
一.环境搭建 1.安装node 去官网下载node安装包 傻瓜式安装 万一安装后终端没有node环境,要进行node环境变量的配置(C:\Program Files\nodejs) 可以通过node提 ...
 - abp 模块系统
			
abp模块系统:ABP理论学习之模块系统 ABP提供了构建模块并将这些模块组合起来创建应用的基础设施.一个模块可以依赖另一个模块.一般来说,一个程序集可以认为是一个模块.一个模块是由一个派生了AbpM ...
 - 板载CAN的树莓派扩展板Strato Pi CAN
			
板载CAN的树莓派扩展板Strato Pi CAN Sfera Labs推出了最新的树莓派扩展组件“灵云派”,其中包括CAN总线,电气隔离的RS-485,RTC和9-65V电源. 位于意大利米兰的 ...
 - Android APK 签名比对(转)
			
Android apk签名的过程 1. 生成MANIFEST.MF文件: 程序遍历update.apk包中的所有文件(entry),对非文件夹非签名文件的文件,逐个生成SHA1的数字签名信息,再用Ba ...
 - 20155216 Exp6 信息搜集与漏洞扫描
			
Exp6 信息搜集与漏洞扫描 实践内容 信息搜集 whois查询 使用whois查询域名注册信息,查询百度服务器(进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自 ...
 - 汇编 if else
			
知识点: if else 逆向还原代码 一.了解if else结构 sub esp, |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-] 0040102C |. 3B45 ...
 - 与Web交互可用的图片Base64编码
			
#ifndef ___BASE64_H___ #define ___BASE64_H___ #include <string> using namespace std; class CBa ...
 - Caffe 深度学习框架上手教程
			
Caffe 深度学习框架上手教程 blink 15年1月 Caffe (CNN, deep learning) 介绍 Caffe -----------Convolution Architec ...
 - html点击链接打开新窗口
			
html标记中格式为<a href="url"> text </a> 此时,内容在原来窗口呈现,如果想新开窗口,可以采用下列方式. 1. <a hre ...
 - [CERC2017]Intrinsic Interval[scc+线段树优化建图]
			
题意 给定一个长度为 \(n\) 的排列,有 \(q\) 次询问,每次询问一个区间 \([l,r]\) ,找到最小的包含 \([l,r]\) 的区间,满足这个区间包含了一段连续的数字. \(n\leq ...