`
TRAMP_ZZY
  • 浏览: 132017 次
社区版块
存档分类
最新评论

设计模式-内部类工厂模式

阅读更多
public interface Service {
	void method1();
	void method2();
}

public interface ServiceFactory {
	Service getService();
}

public class Implementation1 implements Service {

	@Override
	public void method1() {
	}

	@Override
	public void method2() {
	}

	public static ServiceFactory factory = 
			new ServiceFactory() {
				@Override
				public Service getService() {
					return new Implementation1();
				}
	};
}


public class Implementation2 implements Service {

	@Override
	public void method1() {
	}

	@Override
	public void method2() {
	}

	public static ServiceFactory factory = 
			new ServiceFactory() {
				@Override
				public Service getService() {
					// TODO Auto-generated method stub
					return new Implementation2();
				}
	};
}

public class Factories {
	
	public static void serviceConsumer(ServiceFactory factory) {
		Service s = factory.getService();
		s.method1();
		s.method2();
	}
	
	public static void main(String[] args) {
		serviceConsumer(Implementation1.factory);
		serviceConsumer(Implementation2.factory);
	}

}
分享到:
评论

相关推荐

    java设计模式----抽象工厂模式

    java设计模式----抽象工厂模式,简单工厂模式代码 代码内部

    2.设计模式-工厂模式1

    1.当你不知道改使用对象的确切类型的时候 2.当你希望为库或框架提供扩展其内部组件的方法时 1.将具体产品和创建者解耦 2.符合单一职责原则 3.符合开闭原则

    工厂模式(简单工厂,普通工厂,抽象工厂)代码java

    这是代码,介绍请查看以下博客地址: http://www.cnblogs.com/homg/p/3548110.html代码乱码请使用utf-8编码。

    应用了设计模式之简单工厂模式的计算器

    完成了,但感觉这也没啥特别的,程序界面黑布隆冬的,内部结构也是最最平常的面向对象,于是我应用了《大话设计模式》这本书中的第一个模式——简单工厂模式,看上去还不错。界面的话,也就是输出的语句变了,system...

    Java+单例+多例+工厂+枚举+动态代理===》演示

    单例设计模式案例演示 单例模式,是一种常用的软件设计模式。通过单例模式可以保证系统中,**应用该模式的这个类只有一个实例**。即一个类只有一个对象实例。...工厂设计模式案例演示 动态代理案例演示

    C#23种设计模式_示例源代码及PDF

    Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消 工厂模式 费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如 何创建及如何向客户端...

    JAVA23种设计模式及快捷记忆

    ### 设计模式的三大类 **创建型模式(Creational Pattern):**对类的实例化过程进行了抽象,能够将软件模块中**对象的创建**和对象的使用分离。 (5种)工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式 ...

    工厂设计模式[课件-翰子昂内部课件]

    翰子昂培训幻灯片课件,欢迎下载学习交流!欢迎给我留言

    23种设计模式入门到精通详解.txt

    单例模式:某个类只能有一个实例,提供一个全局的访问点。 简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。 工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。 抽象工厂:创建相关...

    实例解析C++设计模式编程中简单工厂模式的采用

    简单工厂模式的程序通过封装继承来降低程序的耦合度,设计模式使得程序更加的灵活,易修该,易于复用。 简单工厂是在工厂类中做判断,从而创造相应的产品。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态...

    23种设计模式.txt

     工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。  2、...

    GoF 的 23 种设计模式

    GoF 的 23 种设计模式的分类,现在对各个模式的功能进行介绍。 单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。 原型(Prototype)模式:将一...

    OBJECTIVE-C编程之道 IOS设计模式解析电子书+源代码

    OBJECTIVE-C编程之道 IOS设计模式解析电子书+源代码《Objective-C编程之道:iOS设计模式解析》是基于iOS的软件开发指南。书中应用GoF的经典设计模式,介绍了如何在代码中应用创建型模式、结构型模式和行为模式,...

    java设计模式【之】享元模式【源码】【场景:多缓存可选模式】

    java设计模式【之】享元模式【源码】【场景:多缓存可选模式】 /** * 享元模式(预加载单例) * “元” 理解为 “同一地址对象” * 运用共享技术,减少对象的创建,降低对象的数量,降低内存消耗,提高性能 * ...

    Simple Factory Pattern.rar【GoF的简单工厂模式(C#源码)】

    * 工厂(Creator)角色:是简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。 * 抽象产品(Product)角色:是简单工厂模式所创建的所有对象的父类,它负责描述...

    1.什么是设计模式? 2.设计模式是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案 3.说出

    4.简单工厂,外观模式,适配器模式,单例模式,工厂方法模式,抽象工厂模式,生成器模式,原型模式,中介者模式,代理模式,观察者模式,命令模式,迭代器模式,组合模式,模板方法模式,策略模式,状态模式,备忘录...

    12种常用设计模式C#代码示例

    5,抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 6,命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也可以支持撤销操作。 ...

    浅析java常用的设计模式(doc-23页).doc

    浅析java常用的设计模式(doc 23页) 1、工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即 可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修 改。如:如何...

    二十三种设计模式【PDF版】

    设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...

    最简单的23种设计模式简介

    1、工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。  2、...

Global site tag (gtag.js) - Google Analytics