一个使用泛型的工厂类

转载 2007年09月21日 09:34:00

Provider提供程序模型中,常常使用反射工厂来获得配置的实例,虽然代码比较简单,但是却也必不可少。

这里用添加了泛型这一特性,虽然性能不见得有什么提高(用不用泛型都会有一个类型转换),但是用了就好像给人一种性能提高了的感觉 ^_^ .

using System.Reflection;

namespace Helper.Reflection
...{
    
/**//// <summary>
    
/// 类工厂
    
/// </summary>

    static class ClassFactory
    
...{
        
/**//// <summary>
        
/// 创建类实例的方法,程序集名可以与类命名空间不同
        
/// </summary>
        
/// <typeparam name="T">类型</typeparam>
        
/// <param name="assemblyName">程序集名</param>
        
/// <param name="className">完全类名</param>
        
/// <returns>类的实例</returns>

        public static T CreateInstance<T>(string assemblyName, string className)
        
...{
            
return (T)Assembly.Load(assemblyName).CreateInstance(className);
        }

        
/**//// <summary>
        
/// 创建类实例的方法,程序集名即为类命名空间
        
/// </summary>
        
/// <typeparam name="T">类型</typeparam>
        
/// <param name="className">完全类名</param>
        
/// <returns>类的实例</returns>

        public static T CreateInstance<T>(string className)
        
...{
            
string assemblyName = className.Substring(0, className.LastIndexOf('.'));
            
return (T)Assembly.Load(assemblyName).CreateInstance(className);
        }

    }

}

 

Java 通过工厂模式和接口泛型实现完全解耦

首先我们假设: 有一个农民(farmer) 有一本菜谱(cookbook),为了方便理解菜谱只有炸鸡这一个菜 假设这是程序的两部分,分别可以被单独复用.并且农民被复用时有时需要菜谱上的函数做饭,有时忙...
  • lmw21848
  • lmw21848
  • 2017年02月03日 19:22
  • 1484

使用泛型实现单例模式工厂

    public class SingletonFactory where T : new()    {        public static T GetInstance()        {...
  • haperkelu
  • haperkelu
  • 2010年12月25日 11:47
  • 603

Java泛型接口——工厂模式类生成器

package generic.interfaces; public interface Generator {     T next(); } package generic.inter...
  • u010354618
  • u010354618
  • 2018年01月28日 01:13
  • 11

通过 DAOFactory 的泛型写法来演示Java泛型的特殊用法

通过 DAOFactory 的泛型写法来演示Java泛型的特殊用法 小型项目中常常都没有用三方持久化框架,而大都是用公司或自行依据DAO模式封装的一些组件来完成数据库持久化动作,并且,通常为了更具可扩...
  • wjx85840948
  • wjx85840948
  • 2010年01月11日 16:53
  • 3443

Java —— 泛型&抽象工厂的设想

问题 增加对象类型需要增加对应工厂类。同时要将相应的工厂类设置到需要生成对象的模块中。强类型绑定增加过多的类似代码。 目标 使用泛型抽象要生成的对象,使用抽象工厂,动态化设定工厂类型。 实现 ...
  • csdn710924032
  • csdn710924032
  • 2018年01月06日 19:58
  • 26

基于Java泛型对Spring中强制类型转换工厂的改进

  • 2011年03月16日 23:17
  • 394KB
  • 下载

java泛型的理解

什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类...
  • u010586698
  • u010586698
  • 2016年04月20日 20:43
  • 634

泛型Dao工厂

工厂设计模式
  • wchb1990
  • wchb1990
  • 2014年09月05日 13:31
  • 304

1.用C#的泛型实现简单的工厂模式

Factory Method   结构   意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。   适用性 ...
  • right817
  • right817
  • 2012年04月18日 10:15
  • 1366

c#2.0 工厂方式创建泛型类的实例

在使用castle的时候,像petshop的那样,创建泛型类的DALFactory的时候。".AdgeArBase`1" 是泛型类的Name程序集如果有多个泛型类的话,则要注意一下谁是1谁是2publ...
  • daqingshu
  • daqingshu
  • 2007年05月18日 01:52
  • 2459
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个使用泛型的工厂类
举报原因:
原因补充:

(最多只允许输入30个字)