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

读编写高质量代码整理(十一)—反射让模板方法模式更强大

阅读更多

模板方法模式(Template Method Pattern )的定义:定义一个操作中的算法骨架,将一些步骤延迟到子类中,使子类不改变一个算法的结构即可重新定义该算法的某些特定步骤。

考虑这样的场景:你要造房子,首先你要有地基,还要有砖块,有搬运工,泥水匠等,你要造一个房子,前途要完成很多东西,抽象成我们的java类,一个house对象的产生需要很多前期准备,如果每个因素分为一个方法,那么如何是代码看起来更加美观呢?造房子无非上述的流程,对,我这里可以做抽象,具体的实现留给子类。模仿方法模式从此引出。

代码是最直观的语言:

public abstract class AbsPopulator {
	public  final void dataInitialing() throws Exception {
		//获得所有pulic方法
		Method[] method = this.getClass().getMethods();
		for(int i=0,size=method.length;i<size;i++) {
			if(isInitDataMethod(method[i])) {
				method[i].invoke(this);
			}
		}
	}
	public boolean isInitDataMethod(Method method) {
		return method.getName().startsWith("init")
			&&Modifier.isPublic(method.getModifiers())
			&&method.getReturnType().equals(Void.TYPE)
			&&!method.isVarArgs()
			&&!Modifier.isAbstract(method.getModifiers());
	}
}

哈哈,不错的代码,学习了哈~ 

 

分享到:
评论

相关推荐

    动软代码模板使用教程.pdf

    - **经典设计模式的融合**:如工厂模式、反射机制等,这些设计模式被广泛应用于代码生成过程中,以确保代码质量。 - **自定义代码生成**:用户可以根据自己的需求定制代码模板,实现更加个性化的代码生成。 #### 二...

    C++设计新思维&模板元编程

    模板元编程是一种在编译时进行计算的技术,它允许程序员编写能够在编译期间运行的代码,生成定制化的类型和函数。通过模板元编程,可以实现更高效、更安全的代码,因为许多复杂性可以在编译时解决,而不是在运行时。...

    An Introduction to Design Patterns in C++ with Qt Second Edition

    如单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式、适配器模式、装饰者模式、代理模式、享元模式、组合模式、职责链模式、命令模式、...模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式等...

    [郑阿奇][程序源代码]

    学习如何编写高质量的注释是提升代码可读性的重要一环。 10. **最佳实践**:郑阿奇的源代码可能包含了业界公认的最佳实践,如DRY(Don't Repeat Yourself)原则、KISS(Keep It Simple, Stupid)原则等,这些都是...

    基于虹膜的模式识别VC++源代码(图像处理)

    1. **图像获取**:首先,系统需要捕获高质量的虹膜图像。这通常涉及使用红外或可见光相机,以及特定的照明技术来减少眼睛周围反射和阴影的影响,确保虹膜区域清晰可见。 2. **预处理**:预处理阶段包括图像增强、二...

    Java工程师不得不看的几千份代码

    6. **设计模式**:设计模式是解决常见软件设计问题的模板,如单例、工厂、观察者等。代码中可能包含多种设计模式的应用,帮助开发者提高代码的可复用性和可维护性。 7. **反射与动态代理**:Java的反射机制允许在...

    JAVA模型设计(代码)

    以上就是Java模型设计涉及的主要知识点,通过学习和实践,开发者可以构建出高质量、易于维护的Java应用程序。在提供的压缩包“data”中,可能包含了各种模型的示例代码,这些代码可以帮助你更好地理解和应用上述概念...

    auto java代码生成器 google的子项目

    这个工具可能利用模板、元编程和代码分析技术来自动生成符合特定规范或模式的Java代码。下面将详细讨论相关知识点: 1. **Java代码生成**:在软件开发中,代码生成是将元数据或模型转换为可执行代码的过程。这种...

    java代码生成器剖析.pdf

    Java代码生成器是一种工具,它能够自动生成符合特定需求的源代码,极大地提高了开发效率,减少了手动编写重复性代码的工作量。在Java中实现代码生成器通常涉及到对反射、模板引擎或者元编程的理解和应用。这里提供的...

    C#设计模式

    这些原则和模式共同构成了软件设计的基础框架,帮助我们编写出高质量、易于维护的代码。 总的来说,无论你是初学者还是有经验的开发者,《C#设计模式》这本书都能提供宝贵的知识和启示,帮助你在编程旅程中更上一层...

    C#源码-高级论题

    编写高质量的测试用例对于大型项目尤为关键。 9. **性能优化**:了解C#的性能特性,如装箱拆箱、运算符重载、类型转换等,可以帮助编写更高效的代码。此外,分析和利用代码分析工具如`Visual Studio Profiler`也是...

    简单Java程序的编写.pdf

    Java 编程基础知识点 Java 是一种面向对象的编程语言,具有平台无关性、继承、多态和封装等特点。本文将对 Java 编程的基础知识点进行总结和解释。...只有具备了这些知识点,才能更好地编写出高质量的 Java 程序。

    基于Java的懒惰者代码生成器 IdlerCodeGenerator.zip

    它利用Java的强大功能,根据预设的模板或规则,自动生成常见的代码段,让开发者能够将更多精力集中在核心业务逻辑上。 【描述】中的“懒惰者代码生成器”并非指开发者懒惰,而是借用了一个编程术语——“懒加载”...

    高质量Java程序设计

    《高质量Java程序设计》是一本深入探讨如何编写高效、健壮、可维护的Java代码的专业书籍。本书旨在帮助开发者提升编程技巧,理解Java语言的核心特性,并掌握最佳实践,以实现高质量的程序设计。 1. **Java语言基础*...

    javapoet-master代码生成器.zip

    这个库允许开发者通过简单的API来构建和编写高质量的Java源代码,极大地简化了在Java项目中自动生成代码的过程。`javapoet-master`是一个包含JavaPoet源码的压缩包,用于深入理解和学习如何使用这个库。 JavaPoet的...

    c#高级进阶资料

    理解并熟练运用这些模式,可以帮助我们写出更易读、可维护、可扩展的代码。例如,工厂模式用于创建对象,而单例模式确保一个类只有一个实例,观察者模式则用于实现事件驱动编程。 **五、多线程** 多线程是C#中处理...

    java代码详情

    理解类的构造函数、继承、封装和多态等概念对于编写高质量的Java代码至关重要。 4. **数据结构与算法**:Java提供了多种内置数据结构,如数组、链表、栈、队列、树和图。熟悉这些数据结构以及相关的算法(如排序、...

    Java基础-第三天(进阶)---2.ppt

    编写高质量的代码始于良好的命名实践,命名应清晰地反映出类、方法和变量的功能。注释也是关键,它们解释代码的目的,但不应成为代码的简单翻译。 设计模式是软件开发中的重要概念,它们是经过实战检验的、标准化的...

    [pdf]C++ templates(En) and Modern C++ Design(En and Chn)

    这本书详细介绍了模板的基础知识,包括函数模板、类模板、模板特化、模板元编程等,帮助读者掌握如何编写高效、灵活的模板代码。 函数模板允许我们编写可以处理多种类型的函数。例如,你可以定义一个模板函数`swap`...

Global site tag (gtag.js) - Google Analytics