• 代码自动生成操作


         最近在做WEB方面的开发,发现很多工作是重复的,这里的重复是"相似"而不是"相同",如果是相同,很显然我们会采用组件化模块化形式提高软件的可复用性.但是相似的工作,我们就不太好模块化设计.另外,计算机的强项就是做重复性的,有规律的工作,为什么不好好利用它而解放自我呢? 所以在Blog里准备做个专题,关注一下代码自动生成技术.

     下面罗列了现成的一些优秀的生成工具

    ArcStyler ( Tier Generator for Full Web Application )

    C# Data Tier Generator ( Code Munger for Database )

    CodeSmith ( Tier Generator for Any code )

    Codify ( Mixed-code Generator for Any code )

    CompileX ( Tier Generator for Full Web Application )

    Constructor() ( Tier Generator for Full Web Application )

    Data Tier Modeler ( Tier Generator for Database )

    DBHelper ( Code Munger for Database )

    DBMethods ( Tier Generator for Database )

    Deklarit ( Tier Generator for Database )

    Doxygen ( Code Munger for Documentation )

    Expert Coder ( Partial Class Generator for Any code )

    GSL ( Tier Generator for Any code )

    iQgen ( Tier Generator for Any code )

    Iron Speed Designer ( Tier Generator for Full Web Application )

    IronWorks ( Tier Generator for Full Web Application )

    JuggerNET ( Tier Generator for Database )

    Lattice.SPGen ( Tier Generator for Database )

    LLBLGen ( Code Munger for Database )

    Mia-Generation ( Tier Generator for Any code )

    Monstarillo ( Tier Generator for Database )

    MyGeneration ( Tier Generator for Database )

    NCodeGen ( Tier Generator for Any code )

    nDevelopment ( Tier Generator for Database )

    nTierGen.NET Code Generator ( Tier Generator for Full Web Application )

    NVelocity ( Tier Generator for Any code )

    Object Model Generator ( Tier Generator for Other )

    OlyMars ( Tier Generator for Full Web Application )

    Builds C# and ASP.NET applications using a tier generator model.

    Persistence(R) Plug-Ins for Eclipse ( Tier Generator for Database )

    Pragmatier ( Tier Generator for Database )

    QuickAdmin ( Tier Generator for Database )

    RapTier ( Tier Generator for Database )

    smartGENERATOR ( Tier Generator for Any code )

    SoProMach ( Tier Generator for Any code )

    tangible architect ( Tier Generator for Business Logic )

    TCDesigner Standard ( Tier Generator for Database )

    VBeXpress.NET ( Tier Generator for Full Web Application )

    Visible Developer ( Tier Generator for Full Web Application )

    Warp.NET Developer Studio ( Tier Generator for Database )

    X-Code .NET ( Tier Generator for Any code )

    XCoder ( Tier Generator for Full Web Application )  

           现在ORM大行其道.它解决的问题是从数据库与对象(实体)之间的映射,但是还有个问题仍需要解决就是实体与UI界面的映射.如果DB-->实体-->UI三者可同步关联.那么我们的工作量将会减少很多.上面有些工具是可根据DB生成整个项目工程.估计再过几年,又是IT界的下岗风波了.

        前些日子,写了个存储过程自动生成器(SP_GEN),巧合的是今天在用TCDesigner Professiona,他会生成很多N多个.sql脚本.原先以为SQL SERVER 2000查询分析器的时候,可以一次性选定多个执行,结果很失望,没有批量执行功能.所以再给这个存储过程自动生成器再加了SQL脚本批量执行功能.

           存储过程自动生成器(SP_GEN)能做什么

    1.    可以自由选择字段.

    2.    可以产生SELECT代码(全部或是根据主键筛选)

    3.    可以产生INSERT代码

    4.    可以产生UPDATE代码

    5.    可以产生 DELETE代码

    6.    可以批量将.sql脚本导入SQL SERVER

    软件截图如下

     由于时间比较匆促,软件的界面比较粗陋以及功能也比较单薄.

      但在平时中确实提高了生产率:)

     将来可能对SP_GEN从以下几个方面改进

    1.    支持多表关联.

    2.    简化SQL的操作.尽量避免敲SQL代码.除非是一些逻辑性操作.

    3.    ...

    对于软件代码自动生成的一些设想

    1.    根据数据库设计模型,生成数据库表,这步大部分的数据建模工具(比如PD)会提供.

    2.    根据数据库表生成实体类,实体类在这里主要做为参数传递和保存相关的相信.

    3.    用存储过程生成器生成存储过程.

    4.    生成类似SQLHelp的中间层,完成实体类与存储过程的交互

    5.    生成逻辑层.支持查询,修改,添加,删除等操作.

    6.    可能以上几步用ORM更好.但要考虑ORM的灵活性和效率.特别是在多表查询时.

    7.    根据第1步和实体类生成WEB界面.需要对界面控件进行摆放而无需编码,即控件值到实体的映射.

    8.    ...

     

    :存储过程自动生成器(SPGEN)

  • 相关阅读:
    git 文件回滚
    常用函数
    触发器
    UPDATE
    DELETE
    INSERT
    完整性与约束
    流程控制
    SET ANSI_NULL ON 和 SET QUOTED_IDENTIFIFR ON
    SELECT 与 SET给标量赋值
  • 原文地址:https://www.cnblogs.com/supercode/p/228206.html
Copyright © 2020-2023  润新知