反射机制和工厂设计模式结合使用

几种常见设计模式案例及类图 这是几种常见设计模式案例及其对应的类图,包括工厂方法模式,抽象工厂模式,单利模式等,用C#编写。 立即下载

            本文介绍反射机制和工厂设计模式结合使用、不了解工厂模式的可以去看看(23种设计模式—之简单工厂模式)


1.Furit接口
package factory.com.util;

public interface Furit {	
	public void toEat();
	
}

2.Banana类
package factory.com.util;

public class Banana implements Furit{
		public void toEat(){
			System.out.println("吃香蕉!!");
		}
}


3.Apple类
package factory.com.util;

public class Apple implements Furit {
	public void toEat(){
		System.out.println("吃苹果!");
	}
}


4.Factory类
package factory.com.util;

public class Factory {
	public static Furit getFurit(String className){
		Furit furit = null;
		
		try {
			//相当创建对象      这就是反射机制
			furit = (Furit) Class.forName(className).newInstance();						
			
		}catch (Exception e) {
			e.printStackTrace();
		} 
		return furit;
	}
}


5.测试类
package factory.com.util;

public class Test {
	public static void main(String[] args) {
		
		/*
		 * 工厂设计模式[]
		 * 如果添加一个子类,只需要继承父类接口
		 * 再改需要改这里的实力类,就ok了
		 * 
		 * */
		Furit fu= Factory.getFurit("factory.com.util.Apple");
		fu.toEat();
		
		
	}
}

6.添加一个 Orange 子类
package factory.com.util;

public class Orange implements Furit {

	@Override
	public void toEat() {
		// TODO Auto-generated method stub
		System.out.println("吃橙子!");
	}

}

通过这两个例子你应该简单了解工厂设计模式了。


看看这篇
23种设计模式—之简单工厂模式(http://blog.youkuaiyun.com/javawebrookie/article/details/49682021)




多种设计模式综合练习 对设计模式的学习,其中涉及到有5种设计模式,用JAVA实现,图形界面呈现 立即下载

相关推荐

从分立到集成:深入解析Buck电路的核心模块与设计权衡

本文深入解析Buck电路的核心模块与设计权衡,从分立到集成方案的优缺点对比。详细探讨Buck电路的高效能量转换、小型化设计及灵活电压调节能力,并结合实际案例分享分立方案中的PWM生成、反馈环路设计及保护电路优化经验,为工程师提供实用设计参考。

weixin_29306317的博客 225

C++ 类对象反射(单例工厂+类注册系统+宏定义)

className;;

qq_40631424的博客 732

STM32F030C8烧录实战:用J-Link Commander实现一键批量烧写(附完整脚本)

本文详细介绍了如何使用J-Link Commander工具链实现STM32F030C8的一键批量烧录,包括环境配置、批处理脚本设计、命令脚本解析以及生产环境实战技巧。通过自动化烧录流程,显著提升效率并降低人为错误,特别适合量产和频繁迭代的开发场景。

weixin_30505225的博客 462

反射和工厂设计模式(JAVA基础九)

讲解类对象的定义和过去方法;讲解了反射的常见方法和通用方法;讲解了工厂设计模式。

Java.L的博客 821

C51红外接收与发射控制及原理编码与解码

基于38khz的NEC协议红外发射简易电路图NEC协议产生红外光数据编码 0 1结合程序红外接收接收电路解码过程解码代码 红外发射 通过通过红外二极管发射红外光,三极管的状态来控制。 红外模块一般都是三个引脚,vcc,gnd,dat,通过控制dat口的来控制发射红外光。 简易电路图 将数据口连接到单片机的引脚为上,控制io口的电平状态,来控制三极管的导通状态,从而发射红外光。 NEC协议 NEC协议特点:8位地址和8位命令为提高可靠性,地址和命令都传输2次,脉冲间隔调制38kHz载波频率。 包含引导码,

yangfeng20的博客 1万+

cocos creator接入微信登陆sdk ios篇

cocos creator接入微信登陆sdk ios篇 背景已经在Android篇里面交代过了,有兴趣的朋友可以再看看Android篇 步骤 去微信开放平台下载ios平台所需要的sdk 在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id 在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin 将SDK文件中...

凤小鹿的博客 6363

反射在设计模式中的应用

利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。但是又有各自的特色,c# 中的反射机制便是一个很重要的工具,好好地利用就可以在实际中发挥很大的作用。    我们来看一个例子:    我的程序中有需要一系列的对象,比如apple,orange…, 要想利用他们,我们就必须在程序中根据用户要求,然后一个...

babala_234的专栏 490

【YoloV12改进策略】基于流形约束超连接(mHC)增强YoloV12全局特征提取能力_独家复现_梁文峰署名论文

论文标题:流形约束超连接 (Manifold-Constrained Hyper-Connections, mHC)核心问题:针对超连接 (Hyper-Connections, HC) 扩展残差流宽度时破坏恒等映射、引发训练不稳定性和高内存开销的问题,提出一种约束性框架。目标:恢复残差连接的稳定性与可扩展性,同时保持HC的性能增益。基准模型:基于DeepSeek-V3的MoE架构,进行了3B、9B、27B模型的实验验证。论文图示mHC 是一个通用的HC扩展框架。

m0_47867638的博客 1360

java中的反射三(反射机制深入---工厂设计模式)

工厂设计模式最大的好处就是可以在应用进行解耦和操作。 下面例子: 创建一个接口并其实现 interface Fruit{ public void eat() ; // 吃水果 } class Apple implements Fruit{ public void eat(){ // 覆写eat()方法 System.out.println("** 吃苹果"); }

yuan465887375的专栏 614

2025年数学建模国赛高教社杯A题、B题、C题、D题、E题详细思路和代码 模型||插值与拟合

核心思想:构造一个精确通过所有已知离散数据点(xi, yi)的函数y = f(x),并以此函数来估算或预测未知点的值。基本假设:我们认为已知的数据点是100%精确、无误差的(或者误差可忽略不计),比如理论计算值、高精度仪器测量值等。我们的目标是“还原”或“重建”出点与点之间的真实函数关系。关键特征精确性:曲线或曲面必须穿过每一个样本点。局部性:插值结果严重依赖于局部数据点的分布和数值。用途:用于“补全”数据、填充缺失值、进行函数近似等。常见方法多项式插值:拉格朗日插值、牛顿插值。

2201_76125261的博客 803

搬运机器人系列编程:KUKA KR QUANTEC_(2).KUKA KRL语言编程基础

定义一个函数END!调用函数PRINT "结果: ", result!定义一个过程PRINT msgEND!调用过程printMessage("欢迎使用 KUKA 机器人")!定义搬运零件的起始位置和目标位置!定义焊接路径的各个点!定义喷涂路径的各个点KUKA Robot Language (KRL) 是一种专门为工业机器人设计的编程语言,具有结构化编程、丰富的库函数、实时性以及集成性等特点。

zhubeibei168的博客 1250

(反射应用案例)反射与工厂设计模式

如果要想进行对象的实例化处理除了可以使用关键字new之外,还可以使用反射机制来完成,但是为什么需要提供有一个反射实例化?那么到底是使用关键字new还是使用反射呢? 如果要想更好的理解此类问题,最好的解释方案就是通过工厂设计模式来解决。工厂设计模式最大的特点就是:客户端的程序类不直接牵扯到对象的实例化管理,只与接口发生关联,通过工厂类获取指定接口的实例化对象。 package reflect; //定义接口 interface IMessage{ public void send(); }

weixin_46245201的博客 341

学Simulink——基于Simulink的超前-滞后校正控制器设计与仿真建模示例

本文完成了基于 Simulink 的超前-滞后校正控制器设计与仿真,实现了:✅掌握超前与滞后校正的物理意义与设计流程✅分步设计复合控制器,兼顾动态与稳态✅在 Simulink 中搭建闭环系统并验证卓越性能✅达成高稳定裕度、高精度、快速响应三大目标。

xiaoheshang_123的博客 81

spring原理的简单实现(简单工厂+配置文件+反射机制)

学习是一件很愉悦的事,学习同时又是一件很痛苦的事,因为大多数的知识都是在学习的当时觉得很简单,觉得自己看看就会了,但操作起来却差强人意,而且认为自己学会了的,过一段时间后,却发现自己脑袋空空,忘得一干二净。现如今的网络时代,每个人都是手机不离手,每天各种段子视频,偶尔学习的,也是会被各种知识文化的激流冲击的找不到北,只能在各种数据的海洋里随波浮沉,晕晕乎乎的,所以学习变成了一件越来越困难的事情。这...

yc_小小坏的家园 948

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

学完反射和改进的工厂设计模式后

package com.it.funny; import java.lang.reflect.Constructor; /* * this snippet of code has perfectly rendered the * beauty of design: factory and reflection; * * and also the essence of reflec...

weixin_42057052的博客 170

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

舵机控制全攻略:从PWM原理到Arduino与树莓派Pico实战

舵机作为机器人、自动化设备和 DIY 项目中最常用的执行机构,其控制核心在于对 PWM 脉宽信号的精确调制。理解微型闭环反馈系统的工作机制,是掌握舵机控制的第一步。PWM 信号通过改变高电平持续时间,映射舵机转角或转速,而伺服系统内部的电位器与控制器则不断修正偏差,实现稳定定位。在实际工程中,供电电流不足、信号干扰和地线虚接是导致舵机抖动、乱转的主要隐患,正确的外部供电与共地设计尤为关键。从 Arduino 的 Servo 库到树莓派 Pico 的 MicroPython 占空比计算,不同平台的控制思路各有

weixin_34302798的博客 412

重温java知识(三十五、反射机制之四:反射机制与工厂设计模式)

传统的工厂设计操作中会存在两个严重的问题: 问题1:传统工厂设计属于静态工厂设计,需要根据传入的参数并结合大量的分支语句来判断所需要实例化的子类,当一个接口或抽象类扩充子类时必须修改工厂类接口,否则将无法获取新的子类实例。 问题2:工厂设计只能够满足一个接口或抽象类获取实例化对象的需求,如果有更多的接口或抽象类定义时将需要定义更多的工厂类或扩充工厂类中的static方法。 1、反射与工厂设计模式的例子: package com.mydemo; public class ReflectionMecha

yuzhiboyouzhu的博客 153

工厂模式与DAO模式 http://gaojiewyh.javaeye.com/blog/419199

关键字: io流、反射机制、properties、dao、单例       工厂模式是设计模式中较简单的模式,但在项目的开发过程中会常常用到它。下面分析下工厂模式,提出一种在项目中比较可行的工厂方法的实现。同时,结合单例模式,构建DAO设计模式。 工厂模式 1、工厂模式的组成 简单工厂模式又叫静态工厂模式,顾名思义,它是用来实例化目标类的静态类。...

iteye_343的博客 133

将反射应用在工厂模式上

一、将反射应用在工厂模式上 工厂设计模式在实际的开发中使用得非常多,之前读者已经学习过简单的工厂模式,通过简单的工厂设计模式可以达到类的 解耦合目的,但是之前的工厂设计模式依然存在问题,那就是在增加一个子类时都需要修改工厂类,这样很麻烦。现在就可以通过反射机制修改工厂类,这样肯定会 非常麻烦。学习完反射机制之后,实际上,此时就可以通过反射机制来改善工厂类,让其在增加子类时可以不用做任何的修改

No_Game_No_Life_的博客 671

反射 - 设计模式 - 注解

本文主要介绍了反射、枚举、设计模式、注解的相关知识,在反射中详尽的阐述了Class类及其使用,在枚举中介绍了其使用的注意事项,在设计模式中介绍了单例设计模式(包含线程安全优化)与工厂设计模式,最后介绍了注解以及注解与反射的结合使用!...

一个很懒的人 722

java自动生成类热加载(注册和扫描)

代码分为三种源码字节码机器码我们可以通过改变源码的方式去操纵机器码,这也是实现自动化的关键。

Circ 443

C#抽象工厂模式的几种实现方法及比较

利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。但是又有各自的特色,C#中的反射机制便是一个很重要的工具,好好地利用就可以在实际中发挥很大的作用。  我们来看一个例子:  我的程序中有需要一系列的对象,比如apple,orange…,要想利用他们,我们就必须在程序中根据用户要求,然后一个个调用...

weixin_30546189的博客 122

别再写一摞if-else了!两种设计模式带你消灭它!

代码洁癖狂们!看到一个类中有几十个if-else是不是很抓狂?设计模式学了用不上吗?面试的时候问你,你只能回答最简单的单例模式,问你有没有用过反射之类的高级特性,回答也是否吗?这次就让设...

蓝胖子同学的博客 917

1.反射,泛型

Java的反射机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。泛型(Generics)是一种参数化类型的概念,它允许我们在定义类、接口和方法时使用类型参数,从而使得这些类、接口和方法能够操作各种不同类型的数据,而不需要进行类型转换。在使用自动装箱和自动拆箱的情况下,可以直接将基本类型和对应的包装类型进行混合使用,而不需要过多地关注类型转换的细节。泛型是在编译时期进行类型检查的,但在运行时会被擦除。

xiaogaotongxue__的博客 1272

Spring系列(1)--IOC 和 DI

IOC 和 DI IOC 原理 xml 配置文件配置 bean dom4j 读取配置文件 工厂设计模式 反射机制创建对象 applicationContext.xml 配置文件,该配置文件名可自定义: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/sche...

weixin_33725270的博客 79
上一篇: 反射机制和工厂设计模式结合使用
下一篇: java反射机制模式
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值