`
alex_gao
  • 浏览: 80638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

应用设计模式之策略模式(Reflection)

 
阅读更多

前两篇文章介绍了结合静态代理简单工厂对策略进行应用,这里介绍使用反射方式应用策略模式。

定义反射策略类:

/**

 * @author alex
 *
 */
public class StratagemReflection {
	
	private AbstractDao dao;
	
	public StratagemReflection(String className) throws Exception{
		try {
			this.dao = (AbstractDao)Class.forName(className).newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	public Object getObject(){
		return dao.getById();
	}
}

  Client应用策略:

	public static void testStratagemRef(){
		try {
//			StratagemReflection stratagem = new StratagemReflection("dp.HibernateDao");
//			StratagemReflection stratagem = new StratagemReflection("dp.IbatitsDao");
			StratagemReflection stratagem = new StratagemReflection("dp.stratagem.JdbcDao");
			System.out.println(stratagem.getObject());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
  一般情况下会使用properties文件或xml文件,配置具体的策略实现类,通过对配置文件的修改实现策略之间的切换,而不需要对具体的代码进行修改,如spring中PropertyPlaceholderConfigurer
分享到:
评论

相关推荐

    C#设计模式PDF 电子书

    《C#设计模式PDF 电子书》是一本专注于C#编程语言中设计模式的应用和解析的书籍,2005年04版意味着它在设计模式领域的应用尚处于早期阶段,但仍然具有很高的学习价值。设计模式是软件工程中经过实践验证的、解决常见...

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

    2.设计模式是比 J2EE 等框架软件更小的体系结构,J2EE 中许多具体程序都是应用设计模式来完成的,当你深入到 J2EE 的内 部代码研究时,这点尤其明显,因此,如果你不具备设计模式的基础知识(GoF 的设计模式),你很难...

    论.NET反射、委托技术与设计模式关系

    委托可以用来实现事件处理、回调机制和策略模式等设计模式。通过定义委托类型,我们可以定义接受特定参数和返回值的函数签名,然后创建委托实例并将其与实际的方法关联起来。例如,`Action`和`Func`是.NET框架提供的...

    C#反射、委托技术在设计模式中的应用

    【C#反射、委托技术在设计模式中的应用】 在C#编程中,反射和委托是两种强大的特性,它们在设计模式中发挥着至关重要的作用。本文将深入探讨这两种技术及其在设计模式中的应用场景。 首先,让我们理解什么是反射。...

    深入浅出设计模式C#Java版

    本资源"深入浅出设计模式C#Java版"是针对这两种主流编程语言介绍设计模式的经典著作,旨在帮助开发者理解和应用这些模式。 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。在C#中,可以使用`密封`和`...

    C# 设计模式(用常用的设计模式编写C#程序)

    C#作为一种面向对象的编程语言,设计模式的应用能够使代码更加灵活、可维护和易于扩展。本资源"《C# 设计模式》"专注于如何在C#编程中运用这些模式来编写高效程序。 一、单例模式 单例模式确保一个类只有一个实例,...

    NET设计模式

    下面我们将深入探讨.NET设计模式及其应用。 一、单例模式 单例模式确保一个类只有一个实例,并提供全局访问点。在.NET中,我们可以使用静态类或双重检查锁定(Double-Check Locking)来实现单例。这个模式常用于...

    Csharp设计模式

    在编程领域,设计模式是一种被广泛认可的解决特定软件设计问题的最佳实践方案。...了解并熟练应用这些设计模式,有助于提升C#项目的设计质量,增强代码的可读性和可维护性,从而在实际开发过程中取得更好的效果。

    C#设计模式C#设计模式

    C#作为.NET框架的主要语言,自然也广泛地应用了各种设计模式。C#设计模式不仅提升了代码的可读性、可维护性和复用性,还使得大型项目的结构更加清晰,团队协作更为高效。 1. 工厂模式:工厂模式是一种创建型设计...

    C#设计模式详细介绍

    C#设计模式详细介绍这一资源,正是为了帮助开发者深入理解和应用这些模式,提升代码的可读性、可维护性和可扩展性。以下是对C#设计模式的一些核心知识点的详细阐述。 **1. 工厂模式** 工厂模式是一种创建型设计模式...

    c#设计模式第二版ppt

    **C#设计模式第二版PPT**是一套深入解析C#编程中设计模式的教育资料,旨在帮助开发者提升代码质量,提高...通过这份资料,自学C#设计模式的同学们将能够系统性地掌握和应用这些模式,为自己的编程生涯打下坚实基础。

    C#设计模式(包括常用的软件设计模式)

    在编程领域,设计模式是一种被广泛认可的解决常见问题的最佳实践。C#作为.NET框架的主要编程语言,同样支持并鼓励开发者使用设计模式来提高代码的可读性、可维护性和可扩展性。本资料包“C#设计模式”涵盖了多种经典...

    C#设计模式+源代码

    此外,C#的特性(Attributes)和反射(Reflection)机制也为元编程和策略模式提供了便利。 源代码在这个资源中扮演着关键角色,因为它们提供了一手的实践经验。通过阅读和分析这些代码,开发者能够更直观地理解设计...

    常见设计模式示例(C#实现)

    设计模式是软件工程中经过长期实践验证的解决特定问题的有效方法和模板,它们代表了在特定情境下,软件设计中的最佳实践。C#语言作为面向对象编程的强大工具,非常适合实现这些设计模式。以下是对“常见设计模式示例...

    Head First设计模式 java+C#源代码

    在Java和C#这两种广泛使用的编程语言中,设计模式的应用是至关重要的。 1. **工厂模式**:这是最简单的创建型模式,提供了一个创建对象的接口,但允许子类决定实例化哪一个类。这样,工厂模式可以使代码独立于具体...

    C#设计模式_11138467

    在C#这样的面向对象语言中,理解并熟练应用设计模式对于开发高质量的软件至关重要。 首先,我们来谈谈C#中的单例设计模式。单例模式确保一个类只有一个实例,并提供全局访问点。在多线程环境下,单例模式能保证线程...

    C#设计模式 word

    1. 工厂模式:这是最基础的设计模式之一,主要用于创建对象。工厂模式提供了一种接口,使得客户端无需知道具体的产品类,只需通过工厂来创建所需的产品实例。在C#中,可以使用抽象工厂或简单工厂来实现这一模式。 2...

    设计模式源码 NET C#

    本资源包含“设计模式源码”,旨在帮助开发者深入理解并应用这些模式,提高代码质量和可维护性。 设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。创建型模式关注对象的创建,如单例模式...

    C#设计模式代码

    《C#设计模式代码》这本书深入探讨了设计模式在C#编程中的应用,旨在帮助开发者更好地理解和实践设计模式,从而提升软件开发的质量和效率。...同时,了解和应用设计模式也是成为专业软件工程师的必经之路。

    新版设计模式手册

    《新版设计模式手册[C#]》是一本专为C#开发者深入理解并应用设计模式而编写的指南。设计模式是软件工程中经过实践验证的、解决常见问题的有效方法,它们代表了在特定上下文中,针对特定问题的重复出现的解决方案。这...

Global site tag (gtag.js) - Google Analytics