zoukankan      html  css  js  c++  java
  • 几种代码生成器的叙述

      曾几何时,动软代码生成器是一种非常方便的工具,很多从事C#语言的开发人员都用过这个工具,当然也包括楼主本人。

    以往的开发模式都是围绕数据库为中心展开的,先设计好数据库,然后再编写代码。动软代码生成器就是在这样的背景下诞生的。

    你只要设计好数据库模式,然后用动软代码生成器一键生成数据访问层代码,非常方便。(虽然动软有业务层,但我认为那是鸡肋,只不过是数据访问层的一层简单包装,没有实际意义)

    这对不想手动编写枯燥乏味的数据库操作的开发人员来说,非常有吸引力。

      下面楼主凭借自己的经验,从好与坏两个方面来总结动软代码生成器。

    优势

      一、自动生成实体类和数据访问代码。

      二、大部分数据库操作都能满足,包括分页

      三、快速开发

    劣势

      一、生成的实体类缺少关联性,而大部分实际项目都需要导航

      二、缺少数据库事务支持,所有的操作都是单表的

      三、对有些类型支持不好,比如date和新的datetimeoffset

      四、查询的数据是基于DataSet而不是实体,让人感觉很怪

      五、数据库结构修改就要手动生成代码,如果你修改了动软生成的文件,那就等着哭吧。

      六、不支持从代码生成数据库(Code First)。

      IT领域有句非常著名的格言:没有银弹。没有一劳永逸的解决方案,没有万能药。代码生成器不是银弹。很多年前,我听过这样一种说法,代码生成器可以代替开发人员。

    这样说的原因有两个:一,你的开发人员太烂,跟代码生成器差不多;二、你的产品太烂,用代码生成器都可以搞定。不管哪种原因,说这话的人就很烂,哈哈! 

      随着IT技术的快速发展,涌现出很多优秀的工具可以替代代码生成器。楼主是做.Net的,给大家推荐几个不错的工具,知道的就权当班门弄斧,不知道的就当做学习。

    首推微软的Entity Framework,其次是NHibernate。Entity Framework是微软亲儿子,和微软自家的Sql Server集成得很好。NHibernate是开源的,支持数据库比较多,可移植性好。

    如果你不喜欢这些重量级的框架,那么可以考虑用ibatis和dapper。就楼主而已,如果可以选择的话,我会考虑用一下Entity Framework和Linq。Linq真是太牛逼了,不得不佩服微软。

  • 相关阅读:
    前端面试分享
    1
    22
    微信同声传译插件的使用
    微信小程序基于第三方插件微信同声传译,以及一些问题解决办法
    阿里云服务器各种活动集锦
    腾讯云多人直播开发第一天,基于IE游览器的ActiveX开发
    vue组件化学习第三天
    vue组件化学习第二天
    vue组件化学习第一天
  • 原文地址:https://www.cnblogs.com/proving/p/8191321.html
Copyright © 2011-2022 走看看