`
zjnicholas
  • 浏览: 36663 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

用内部类实现的工厂方法

阅读更多
从thinking in java 中摘过来的:
package com.cxz.j2se;   
  
interface  Service  {
	void method1();
	void methor2();
}
interface ServiceFactory{
	Service getService();
}
class Implemention1 implements Service{

	private Implemention1(){}
	@Override
	public void method1() {
		// TODO Auto-generated method stub
		System.out.println("method1");
		
	}

	@Override
	public void methor2() {
		// TODO Auto-generated method stub
		System.out.println("method2");
	}
	public static ServiceFactory factory  =  new ServiceFactory(){//工厂类,内部类,只调用一次
		public Service getService(){
			return new Implemention1();
		}
	};
}


public class MyClass {   
	public static void serviceConsumer(ServiceFactory fact) {
		Service s  =  fact.getService();
		s.method1();
		s.methor2();
	}
	public static void main(String args [] ){
		serviceConsumer(Implemention1.factory);//返回工厂类,然后可以调用工厂类的getService 方法类得到类的实例
	}
	
}  
分享到:
评论

相关推荐

    抽象工厂+反射 实现通用数据源设计

    应用抽象工厂+反射实现通用数据源设计。来源于北大青鸟内部设计模式讲座。

    asp.net 简单工厂模式和工厂方法模式之论述

    其实多做一些联系不难发现:工厂方法模式实现时,客户端需要决定实例化那个工厂来实现运算类,选择判断的问题还是存在的,也即是说,工厂方法吧简单工厂的内部逻辑判断移到了客户端代码来进行,我想要加一些功能,...

    【05-面向对象(下)】

    •如果采用匿名内部类语法来创建函数式接口的实例,只要实现一个抽象方法即可,在这种情况下即可采用 Lambda表达式来创建对象,该表达式创建出来的对象的目标类型就是这个函数式接口。 •Lambda表达式有如下两...

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

    1. 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。 2. 在该类内部创建一个唯一的对象 3. 定义一个静态方法返回这个唯一对象。 #### 例设计模式的类型 根据实例化对象的时机单例设计模式又分为...

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

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

    C++11实现一个自动注册的工厂

     工厂方法是简单地创建派生类对象的方法,也是很常用的,工厂方法内部使用switch-case根据不同的key去创建不同的派生类对象,下面是一个伪代码。 Message* create(int type) { switch (type) { case MSG_...

    企业智能工厂建设总体解决方案

    企业智能工厂建设总体解决方案 1.让制药企业的设备、生产过程、产品、管理全方位满足 GMP要求; 2.利用智能化生产设备...7.利用云及互联网技术实现远程智能服务,智能物流实现工 厂间,工厂内部生产全流程高度集成。

    【设计模式】享元模式 实现 ( 实现流程 | 抽象享元类 | 具体享元类 | 享元工厂 | 用户调用 | 代码模板 )

    ① 抽象类 : 该类是一个 抽象类 , 在 享元工厂类 和 用户调用 中 , 涉及的对象类型就声明为该 抽象类型 , 一般不直接使用具体的实现类 ; ② 定义内部状态 : 内部状态数据是多个 细粒度对象 ( 用户实际使用的一万个...

    苏州智能工厂建设指南.doc

    利用IPv6、工业物联网等技术实现工厂内、外网以及设计、 生产、管理、服务各环节的互联,支持内、外网业务协同。 (2) 系统全面互通 工厂的总体设计、工艺流程及布局均已建立数字化模型可进行模拟仿真,应用数字 化三...

    毕业设计-基于SSM的mysql-基于web的工厂新闻管理系统-设计与实现(源码 + 数据库 + LW + 演示视频).zip

    本论文的主要贡献在于提出了基于SSM框架、JSP和MySQL数据库的工厂新闻管理系统,该系统能够实现工厂内部新闻的发布和管理,提高了工厂内部信息交流和管理的效率和准确性。此外,该系统还具有可扩展性和灵活性,可以...

    论文研究-基于奇异摄动理论的植物工厂温度控制.pdf

    通过研究植物工厂与作物系统,结合非线性奇异摄动...最后通过MATLAB软件进行仿真,得出最优控制曲线,结果表明得出的控制器能有效地控制植物工厂内部温度,并能保证对植物工厂加热时间最短,以实现植物工厂收益最高。

    JAVA面向对象详细资料

    38.3 编写使用武器行为接口和实现类 58 38.4 编写角色类和子类 58 38.5 测试类 58 38.6 动作冒险游戏补丁:增加新的角色和新的技能 59 38.7 编写新的打斗行为 59 38.8 编写新的治疗行为和实现类 59 38.9 修改角色...

    类工厂模式、画笔画刷1

    结构Factory:工厂角色工厂角色负责实现创建所有实例的内部逻辑Product:抽象产品角色抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共

    工厂模式--简单工厂模式

    工厂角色:是简单工厂的核心,他负责实现创建所有实例内部逻辑.工厂类可以被外界直接调用,创建所需的产品对象 抽象产品角色:是简单工厂模式所创建的所有对象父类,他负责描述所有实例所共有的公共接口 具体产品角色:是...

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

    简单工厂模式中专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。...简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品

    打造高逼格的智慧工厂(智慧工厂ERP)

    打造高逼格的智慧工厂(智慧工厂ERP)通过现场智慧终端与ERP/MES的无缝连接,让整个工厂内部的生产运营信息快速,即时,自动的传输到工厂内部现场的...机机互联将信息即时反馈到数据中心,实现工厂内部信息的即时流通。

    计算机组网技术

    计算机网络课设组网技术,某拖拉机制造厂有2个分厂(分别是:零件分厂、总装分厂)+...3 使用访问控制规则,实现每个分厂内部的WWW服务可以被其他分厂访问,但是分厂内部的FTP服务不能被其他分厂访问。 服务器的建设

    Java 基础核心总结 +经典算法大全.rar

    用泛型表示类 用泛型表示接口泛型方法 泛型通配符 反射 Class 类Field 类Method 类ClassLoader 类 枚举 枚举特性 枚举和普通类-样枚举神秘之处 枚举类 I/O File 类 基础 IO 类和相关方法InputStream ...

    046 - JAVA语言考试系统的设计与实现(论文+源代码+文献综述+外文翻译) - 大学生毕业设计 亲测完美可用 极致技术工厂

    在该系统中,连接数据库的方法有两种,一种是通过SQL查询(利用SqlConnection类来连接SQL Server 2000),另一种是通过OLEDB技术(利用OleDbConnection类来连接几种不同类型的数据库)。前一种方法是专门针对SQL ...

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

    工厂方法让类把实例化推迟到子类。 5,抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 6,命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他...

Global site tag (gtag.js) - Google Analytics