`
sptgreen
  • 浏览: 45475 次
  • 性别: Icon_minigender_1
  • 来自: 荆门
社区版块
存档分类
最新评论

CodeSmith基于模板的代码生成工具

阅读更多
CodeSmith
  CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本。与其它许多代码生成工具不同,CodeSmith 不要求你订阅特定的应用程序设计或体系结构。借助 CodeSmith 可以生成包括简单的强类型集合和完整应用程序在内的任何东西。

  当生成应用程序时,无论是编写数据访问代码还是生成自定义集合,你会发现经常需要重复完成某些特定的任务。这时 CodeSmith 就显得特别有用,因为你可以编写模板自动完成这些任务,从而不仅提高你的工作效率,而且能够自动完成那些最为乏味的任务。CodeSmith 附带了许多模板,包括对应于所有 .NET 集合类型的模板以及用于生成存储过程的模板,但该工具的真正威力在于能够创建自定义模板。为了使你能够入门,我将快速介绍一下如何生成自定义模板。

生成自定义模板
  CodeSmith 模板只是一些可以在任意文本编辑器中创建的文本文件。它们的唯一要求是用 .cst 文件扩展名来保存它们。我将要生成的示例模板将接受一个字符串,然后基于该字符串生成一个类。创建模板的第一步是添加模板头,它可声明模板的语言、目标语言以及简要模板说明:

<%@ CodeTemplate Language="C#"
TargetLanguage="C#"
Description="Car Template" %>

  模板的下一部分是属性声明,在这里可声明将在模板每次运行时指定的属性。就该模板而言,我要使用的唯一属性只是一个字符串,因此属性声明如下所示:

<%@ Property Name="ClassName" Type="String" Category="Context"
Description="Class Name" %>


  该属性声明将使 ClassName 属性出现在 CodeSmith 属性窗口中,以便可以在模板运行时指定它。下一步是实际生成模板主体,它非常类似于用 ASP.NET 进行编码。你可以在 Figure 3附件 中查看该模板的主体。

  正如你所见,该模板接受字符串输入并使用该类名生成单独的类。在模板主体中,使用与 ASP.NET 中相同的起始和结束标记。在该模板中,我只是插入属性值,但你还可以在这些标记内部使用任意类型的 .NET 代码。在该模板完成之后,你就可以通过双击它或者从 CodeSmith 应用程序中打开它将其加载到 CodeSmith 中。Figure 4 显示了已经加载到 CodeSmith 中的该模板。

Figure 4 CodeSmith 模版

  你可以看到左侧的属性正是我在该模板中声明的属性。如果我输入“SingletonClass”作为类名,并单击 Generate 按钮,则生成 Figure 3 的底部显示的类。

  CodeSmith 使用起来相当容易,如果能够正确应用,则可以产生一些令人难以置信的结果。面向代码生成的应用程序中最常见的部分之一是数据访问层。CodeSmith 包括一个名为 SchemaExplorer 的特殊的程序集,可用来从表、存储过程或几乎任何其他 SQL Server? 对象生成模板。
CodeSmith 由 Eric J. Smith 编写,下载地址是:http://www.ericjsmith.net/codesmith
分享到:
评论

相关推荐

    类似于CodeSmith基于模板的代码生成

    CodeSmith是一款著名的基于模板的代码生成工具,它允许开发者通过编写模板来自动化生成常见的编程代码,从而提高开发效率,减少重复工作。这个压缩包中的内容似乎是一个类似的代码生成解决方案,可能是一个自定义或...

    Java 代码生成器CodeSmith是一个好工具

    CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本。与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。使用 CodeSmith,可以生成...

    CodeSmith 基于模板的代码生成工具(包含破解工具)

    与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。使用 CodeSmith,可以生成包括简单的强类型集合和完整应用程序在内的任何东西。 。CodeSmith 附带了许多模板,包括对应于所有 ...

    codesmith 3层代码生成模板

    Codesmith是一款基于.NET平台的代码生成工具,它通过读取数据库或其他数据源的信息,自动生成符合特定设计模式的源代码,如实体类、数据访问层、业务逻辑层等。它的核心优势在于可以根据不同的项目需求定制模板,...

    基于 CodeSmith 模板的开源代码生成器

    CodeSmith 是一个强大的模板驱动代码生成工具,尤其在IT行业中,它被广泛用于自动化软件开发过程,节省程序员编写重复代码的时间。本项目是基于 CodeSmith 的一个开源代码生成器,专注于从数据库中自动生成相关代码...

    CodeSmith三层代码生成模板

    CodeSmith是一款强大的代码生成工具,尤其在开发过程中,它可以极大地提高开发效率,减少重复编码的工作量。"三层架构"是一种常见的软件设计模式,通常包括表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。三...

    asp.net codeSmith三层代码生成模板

    CodeSmith是一款强大的代码生成工具,能够自动生成诸如数据访问层(DAL)、业务逻辑层(BLL)以及表现层(UI)的代码,极大地减少了程序员手动编写重复代码的工作量。 三层架构是一种常见的软件设计模式,它将应用...

    基于CodeSmith的代码生成工具

    MyGenerate是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本模板。与其他许多代码生成工具不同,MyGenerate不要求您订阅特定的应用程序设计或体系结构。使用 MyGenerate,可以...

    CodeSmith企业版5.22+中文详细注释三层+抽象工厂模板+许可文件+中文件详细教程.part3

    CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET 的语法来生成任意类型的代码或文本。与其他许多代码生成工具不同,CodeSmith 不要求您订阅特定的应用程序设计或体系结构。使用 CodeSmith,可以生成...

    NHibernate+CodeSmith+Oracle 代码生成模板C#

    CodeSmith是一款强大的模板驱动代码生成工具,它允许用户通过自定义模板快速生成重复性的代码。在这个特定的模板集合中,我们有以下文件: 1. NHibernate.class.cst:这个模板文件可能是用于生成C#的实体类。每个...

    CodeSmith,.net代码生成器

    CodeSmith是一款强大的.NET代码生成工具,它极大地提高了开发人员的生产力,通过自定义模板来快速生成常见的编程任务,如数据库访问层、业务逻辑层、实体类等。这款工具的使用非常简单,只需要安装后,根据自己的...

    codesmith生成实体类简单模板

    Codesmith是一款强大的代码生成工具,它允许开发者通过定制模板来自动生成代码,极大地提高了开发效率。本篇文章将详细介绍如何利用Codesmith生成基于C#的实体类简单模板。 首先,让我们了解Codesmith模板的基本...

    CodeSmith国际流行代码生成工具(最新版)

    CodeSmith是一款强大的代码生成工具,尤其在IT行业中备受青睐。它可以帮助开发者快速生成大量重复性的、基于模板的源代码,从而极大地提高了开发效率和代码一致性。以下是对CodeSmith及其最新版的一些详细介绍: 1....

    CodeSmith 生成工具 6.5 (可生成Nhibernate)

    CodeSmith是一款强大的代码生成工具,尤其在快速开发领域有着广泛的应用。版本6.5是它的一个重要里程碑,其中包含了对Nhibernate框架的支持,这使得开发者能够更高效地生成与Nhibernate配合的实体类和数据访问层代码...

    CodeSmith IBatis1.92模板

    CodeSmith是一款强大的代码生成工具,它能够帮助开发者自动生成各种编程语言中的常见代码,极大地提高了开发效率。在本案例中,我们关注的是"CodeSmith IBatis1.92模板",这表明它是一个专用于生成IBatis框架相关...

    代码生成器CodeSmith

    CodeSmith是一款强大的代码生成工具,尤其受到C#开发人员的青睐。它允许用户通过自定义模板来快速生成重复性高的代码,从而极大地提高了开发效率,减少了手动编写代码带来的错误和时间消耗。 CodeSmith的核心功能...

    codesmith代码生成工具

    1. **模板驱动**:Codesmith基于模板驱动的设计理念,允许开发者创建自定义模板来生成特定类型的代码。这些模板可以是简单的文本文件,包含可替换的占位符,使得代码生成过程更加灵活和可定制化。 2. **数据访问层...

    CodeSmith .net 三层自动生成模板

    CodeSmith是一款强大的.NET代码生成工具,它允许开发者通过自定义模板快速生成各种代码,从而提高开发效率和代码质量。在.NET 2.0时代,CodeSmith就已经被广泛应用于项目开发中,尤其是对于三层架构(数据访问层、...

Global site tag (gtag.js) - Google Analytics