请问用代码生成器生成的三层架构和手工建立的三层有什么区别?

一直很疑惑 2012-06-12 01:33:20
加精
今天经历让建一个三层框架出来,我就用动软代码生成器,生成了一个简单三层出来。但是经理说这个不行,自己建一个。
我感觉两种都是一样的?有什么区别呢非要手工建立一个????
请各位架构大神给点建议吧
...全文
5851 146 打赏 收藏 转发到动态 举报
写回复
用AI写文章
146 条回复
切换为时间正序
请发表友善的回复…
发表回复
一直很疑惑 2012-06-27
  • 打赏
  • 举报
回复
感谢大家的分享!就此揭帖
bxkjsjwx3 2012-06-26
  • 打赏
  • 举报
回复
经典啊。。。。。 机器不是万能的。。。。。。。。
coffee_sugar 2012-06-25
  • 打赏
  • 举报
回复
caozhy的回复你视而不见,我不说啥了。不是因为他级高怎么着,而是回复的很到位。兄弟脚踏实地一步步来吧
qihigh 2012-06-24
  • 打赏
  • 举报
回复
[Quote=引用 60 楼 的回复:]

caozhy的回复,很给力,朴实而精准,点点滴滴均能有所共鸣。

楼主,等你三年后再来看caozhy的回复,你应当会发现他的回复是多么的到位!

为你们赞一个!
[/Quote]
同感。。所有回复中也就他的值得仔仔细细看。
lvfeng19806001 2012-06-22
  • 打赏
  • 举报
回复
看完了所有的回复,印象最深的还是caozhy的回复。
其实他的三楼的比喻很贴切,其实咱们现在还是建筑工人的级别,有小工,瓦工等区别,但让咱们设计房子,可能会有心而无力。
当然建筑工人也在进步,也希望自己能设计房子,但必须得熟悉建房子很多细节,建很多房子,才会知道设计什么,怎么好,怎么不好,这都是需要努力,热情和时间的。
其实代码生成器对咱们码工的帮助还是很大的,只是很多时候得自己写模板而已。对于很多共性的,比如实体类,数据库操作类等共性的,生成当然比敲好了。就像盖房,能用机器的时候当然得用,电葫芦上楼板比人又快又轻松。但是有很多机器不能完成的,还得人来。
但对于架构师,他们当然不会考虑代码生成器。代码生成器只是咱们实现者实现时的工具而已。

nj_dobetter 2012-06-21
  • 打赏
  • 举报
回复
简单的框架还是能比较快的写出来,难就难在去实现一个包含各种需求、几乎面面俱到的框架
sanguorewrite 2012-06-21
  • 打赏
  • 举报
回复
又一个脑残,说什么
“也就是说面向过程的编程方法捉襟见肘, 只能用面向对象的思想去设计。 这时候必须三层架构。 ”
“代码生成ORM,个人认为最佳实践是由实体类映射生成数据库,不是由数据库结构映射生成实体类。”

我的看法:数据库设计是核心,必须先实现,然后是业务逻辑比如数据有效性,数据相关动作等可以放这里。

如果先设计实体类,再生成数据库,这样的项目性能是玩具一样的。没有任何一个核心业务系统会这么做。
hqb782 2012-06-21
  • 打赏
  • 举报
回复
[Quote=引用 139 楼 的回复:]
自己去写身体类真的满多的,有时候表多,容易出错,用代码生成器生成的会省点事吧,看你自己了。抽象数据层我一般会去用代码生成器去生成.....中间层方面可以借鉴下代码生成器的,代码生成器所生成的方法重构封装方面是很不错的,可以借鉴下,但推荐是要手写啦,这样你可以从中学些东西...纯属个人看法!
[/Quote]是实体类不是身体类!不好意思啊打错了!!
hqb782 2012-06-21
  • 打赏
  • 举报
回复
自己去写身体类真的满多的,有时候表多,容易出错,用代码生成器生成的会省点事吧,看你自己了。抽象数据层我一般会去用代码生成器去生成.....中间层方面可以借鉴下代码生成器的,代码生成器所生成的方法重构封装方面是很不错的,可以借鉴下,但推荐是要手写啦,这样你可以从中学些东西...纯属个人看法!
wcfl_101 2012-06-21
  • 打赏
  • 举报
回复
你们经理可能要你根据业务需求写个代码生成器。如果光是三层的话,主要是解决怎么从数据库查到需要的表,以及怎么从表中查到字段、字段的数据类型,这些可以从网上查到。剩下的就是拼接字符串,然后写入文件。Model最容易拼接,Dal要麻烦一些,写过的人都知道,其实没啥技术含量。
一直很疑惑 2012-06-20
  • 打赏
  • 举报
回复
[Quote=引用 129 楼 的回复:]
一直用 动软代码生成器,也做过很多项目,确实节省很多时间,否则,每个都手写早就吐血了。

它可以直接生成 三层架构的项目代码,对于一般的企业项目足够用了。

动软代码生成器,还可以直接生成SQL的数据脚本,或者根据脚本生成代码,可以生成数据库字典文档,省的每次都手写数据库文档。

支持对多种类型数据库:如SQLServer2000/2008、Oracle、MySQL、OleDb等。
……
[/Quote]
您的教程链接很好啊 ,感谢分享。
寒冰2046 2012-06-20
  • 打赏
  • 举报
回复
个人认为代码生成工具有存在的价值,在完成重复性的劳动上面。当然,最好是可以定制的,模板也好,改工具源码也好,甚至可以自己写个简单的。
另外,觉得很有必要先将三层结构和MVC区分开来。
lovenet_2008 2012-06-20
  • 打赏
  • 举报
回复
一直用 动软代码生成器,也做过很多项目,确实节省很多时间,否则,每个都手写早就吐血了。

它可以直接生成 三层架构的项目代码,对于一般的企业项目足够用了。

动软代码生成器,还可以直接生成SQL的数据脚本,或者根据脚本生成代码,可以生成数据库字典文档,省的每次都手写数据库文档。

支持对多种类型数据库:如SQLServer2000/2008、Oracle、MySQL、OleDb等。
还可以生成 多表事务的代码,这个很好!

也支持想codesmith一样的模板生成,自己可以更灵活的定义模板生成。

反正我用着挺好的,但是也不可能所有的代码都用它来生成,毕竟逻辑还是需要自己写的,但是基本的一半的代码有了,增加自己的逻辑还是节省了很多时间。

官方有示例教程:http://www.maticsoft.com/help/maticstudy.htm

有兴趣的人自己看吧。很多事情都是从正反两方面看问题,觉得有用节省时间,何必自己跟个牛似的自己打呢,呵呵
ayun00 2012-06-20
  • 打赏
  • 举报
回复
至今不知道 这个"系统业务逻辑比较复杂"如何量化...
[Quote=引用 94 楼 的回复:]
代码生成器 生成的东西不能完全满足需求。你必须要修改。

事实上,如果你这个项目代码器生成的文件已经满足你的要求了,说明也根本没有用三层的必要。也许你的项目无非是 对数据库增删改 很简单的程序。


用所谓的三层。基于两个原因。

1 :你可能将来要换数据库。或者你设计的程序时一个商品,比如一个论坛程序,但你无法预测客户会用什么数据库,用sql server还是用 acess,或者……
[/Quote]
blackkettle 2012-06-20
  • 打赏
  • 举报
回复
我最喜欢看 csdn高手们的回复。
一直很疑惑 2012-06-20
  • 打赏
  • 举报
回复
[Quote=引用 133 楼 的回复:]
其实,基础才是最重要的,当看透了基本的,如果真的有必要省略一下手工的,可以直接跟经理反驳。
[/Quote]
嘿嘿
SinGooCMS 2012-06-20
  • 打赏
  • 举报
回复
自己写代码生成器,自己写模板.都可以快速的生成应用,而且是很适合自己的.

当然这不能说是生成了框架,框架这个概念比较大.

打个比方说代码生成器可以组合成一个木偶,而框架就是一个有血有肉的人!(垃圾的所谓框架除外哈)
绿领巾童鞋 2012-06-20
  • 打赏
  • 举报
回复
其实,基础才是最重要的,当看透了基本的,如果真的有必要省略一下手工的,可以直接跟经理反驳。
cena_jin 2012-06-20
  • 打赏
  • 举报
回复
和我一样技术不好的话,除了实体,都自己写,写完收获较多
福清仔 2012-06-19
  • 打赏
  • 举报
回复
搭框架,也就是把东西搬来搬去,真不明白啥叫框架设计
加载更多回复(114)
  动软代码生成是一款为程序员精心设计的代码自动生成器。该软件综合了开发中的经典思想和设计模式,支持生成不同架构的项目和代码,完全省去了大量的机械录入的时间和重复动作,让你更加有时间集中在业务逻辑的开发。    动软代码自动生成器 功能特点:   自动生成代码   一键自动生成各种代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。有了它开发项目的效率简直轻松多了。   自动生成三层架构的完整项目和代码:简单三层结构;基于工厂模式三层架构;自定义结构模版   自动生成ASP.NET页面和cs后台代码   自动生成父子表的(事务)的代码   可以自定义代码生成的页面模板,批量生成项目代码。   灵活的代码生成方式   可以自定义手工选择生成的字段。   可以自由设定命名空间和实体类名。   自动生成方法属性注释。   支持对表和视图的代码生成。   支持对多种类型数据库生成代码:如SQLServer2000/2008、Oracle、MySQL、OleDb等。   可以生成多种不同类型数据层代码,例如: 基于SQL字符串方式,基于Parameter方式和基于存储过程方式的数据层。   生成存储过程和数据SQL脚本   可根据选定的数据库和表(可多选),自动生成增、删、改、查等操作的存储过程脚本,和生成表的创建脚本及数据记录的SQL脚本,支持在当前生成和导出脚本文件功能。   自动生成数据库结构文档   可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息。生成相应的表结构文档,免去手工写文档和操作的麻烦。
动软.Net代码生成Codematic是一款为C#数据库程序员设计的自动代码生成,Codematic生成的代码基于面向对象的思想和三层架构设计,可以直接生成三层架构的项目的代码,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。 Codematic同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。 功能如下: 自动生成C#代码 一键自动生成各种C#代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。有了它开发项目的效率简直轻松多了。 •可以生成3种不同架构的代码:简单三层结构;基于工厂模式三层架构;自定义结构模版 •可以生成页面Html代码和页面.cs处理代码 •支持父子表的(事务)的代码生成 •可以自定义选择生成的字段 •可以自由设定命名空间和实体类名 •自动生成方法属性注释 •支持对表和视图的代码生成 •支持对多种类型数据库生成代码:如SQLServer2000/2005,Oracle,OleDb等 •可以生成3种不同类型数据层: 基于SQL字符串方式,基于Parameter方式和基于存储过程方式的数据层 数据库服务器管理 类似SQLServer2005的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看字段类型,长度,主键,默认值等详细信息,省去了在代码和数据库管理器之间的来回切换,方便快捷。 •可支持SQL Server2000/2005、Oracle、OleDb三种类型的数据库同时管理。 •可以轻松浏览库,表,视图,存储过程的结构信息. •可以查看存储过程和视图的定义脚本。 •表的重命名,删除操作。 查询分析器 实现类似SQLServer2005的查询分析器的功能,方便编写代码时想进行数查询。 •实现执行选中部分SQL语句。 •实现关键字高亮。 •支持F5快捷键执行语句。 •实现打开现有脚本,保存当前脚本功能。 •实现错误检测提示功能。 自动生成存储过程和SQL脚本 •可以自动生成表的创建脚本。 •可以自动生成表数据的插入脚本。 •可以自动生成增、删、改、查等操作的存储过程脚本。 •可以根据选定的数据库和表,进行多选批量生成。 •支持在当前生成和导出脚本文件功能。 自动生成数据库文档 可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息.生成相应的表结构文档,免去手工写文档和操作的麻烦。 Web项目文件发布 有时候我们需要根据自己的要求,导出项目文件,VS.NET自带的复制项目功能,对一些图片或js 文件等等其他一些文件,不能自动导出,除非把这些都添加到项目里。所以,有了这个功能,对项目发布非常的方便,并且支持自己定义哪些发布哪些不发布。 其他功能 •C#ToVB.NET代码转换器。 •支持扩展插件机制的代码生成和插件的自定制开发。 •免费提供数据访问类库组件,页面数据校验等等通用函数类库源码。
软件简介: DbToCode 是一款为 C# 数据库程序员设计的自动代码生成,DbToCode 生成的代码基于基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。采用 Model + DAL + BLL + Web 的设计,主要实现在 C# 中对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、 Model 类构造等基础代码片断,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。 DbToCode 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。 详细功能说明: 1.自动代码生成。 可以生成三层架构的代码。如果采用类似petshop架构模式的架构,则代码生成效率很高。 它可以生成:实体Model,DAL(数据访问层),IDAL(接口层),DALFactory(类工厂),BLL(业务逻辑层),WEB层等多层的代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。我感觉有了它开发项目的效率简直好轻松。 (1)自动生成属性注释. (2)可以自由设定命名空间和实体类名。 (3)免费提供数据库访问,页面数据校验等等基础类库及封装类库源码。自己可以对其进行修改保存满足自己的需要。 (4)支持不同类型数据层的生成: 基于SQL语句,基于参数,基于存储过程。 (5)支持选择不同架构代码生成:简单基本三层结构;基于工厂模式+反射机制+缓存机制的复合结构;自定义结构模版。 (6)可以生成增加,显示等页面主体Html代码,和后台.cs处理代码。 (7)支持对多种类型数据库生成代码:如SQLServer2000,SQLServer2005,Oracle,OleDb等。 2.数据库管理器。 类似SQLServer2000的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看字段类型,长度,主键,默认值等详细信息,省去了在代码和数据库管理器之间的来回切换,方便快捷。 (1)支持多种类型数据库。如SQLServer2000,SQLServer2005,Oracle,OleDb等。 (2)创建表脚本和存储过程及数据脚本,支持执行。 (3)导出表脚本和存储过程文件。 (4)表的重命名,删除操作。 3.查询分析器。 实现类似于SQLServer的查询分析器的功能,方便编写代码时想进行数查询。 (1)实现执行选中部分SQL语句。 (2)实现关键字高亮。 (3)支持F5快捷键执行语句。 (4)实现打开现有脚本,保存当前脚本功能。 (5)实现错误检测提示功能。 4. 自动生成存储过程和SQL脚本。 可以根据选定的数据库和表(可多选),生成表的创建脚本,以及表数据的插入脚本,同时可以生成表的增,删,改,查等操作的存储过程脚本。支持在当前生成和导出脚本文件功能. 5. 自动生成数据库结构文档。 可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息.生成相应的表结构文档,免去手工写文档和操作的麻烦。 6. Web项目文件发布。 有时候我们需要根据自己的要求,导出项目文件,VS.NET自带的复制项目功能,对一些图片或js 文件等等其他一些文件,不能自动导出,除非把这些都添加到项目里。所以,有了这个功能,对项目发布非常的方便,并且支持自己定义哪些发布哪些不发布。 7. 代码生成自动导出功能。 代码生成可以选定一个表来生成代码,然后粘贴到项目里。但如果表很多,来回这么操作太麻烦,所以,这个功能可以按三层架构,自动建立文件夹,并自动生成所选的所有表的.cs代码文件,只需要添加到项目里就可以了。 8.其他功能: (1) C#ToVB.NET代码转换器. (2) 实现了热键呼出。可以自己设定热键.当你点窗口的[X]关闭程序时,程序会自动隐藏运行在任务栏,通过热键可以快速呼出窗口。

软件名称:动软.Net代码自动生成器(Codematic)
软件版本:1.9.7.2 (2006.4.14)
软件容量:2.65 MB
软件分类:开发工具
软件性质:国产软件 / 简体中文 / 免费软件
应用平台:WinNT/2000/XP/2003/Longhorn/Vista
界面预览:http://www.Maticsoft.com/Codematic.aspx
官方网站:http://www.Maticsoft.com
官方论坛:http://bbs.Maticsoft.com
电子信箱:l_tp@163.com
下载地址:http://www.maticsoft.com/soft/Codematic.rar

软件简介:
Codematic 是一款为 C# 数据库程序员设计的自动代码生成,Codematic 生成的代码基于基于面向对象的思想和三层架构设计,结合了Petshop中经典的思想和设计模式,融入了工厂模式,反射机制等等一些思想。采用 Model + DAL + BLL + Web 的设计,主要实现在 C# 中对应数据库中表的基类代码的自动生成,包括生成属性、添加、修改、删除、查询、存在性、 Model 类构造等基础代码片断,使程序员可以节省大量机械录入的时间和重复劳动,而将精力集中于核心业务逻辑的开发。
Codematic 同时提供方便的数据库查询管理,SQL脚本生成,存储过程生成,数据库文档生成,Web项目文件发布,代码生成自动导出文件等多项开发工作中常用到的功能,您可以很方便地进行项目开发。

详细功能说明:

1.自动代码生成
可以生成三层架构的代码。如果采用类似petshop架构模式的架构,则代码生成效率很高。
它可以生成:实体Model,DAL(数据访问层),IDAL(接口层),DALFactory(类工厂),BLL(业务逻辑层),WEB层等多层的代码,可以节省大量的时间来做业务逻辑的代码,那些重复的代码就交给它去做吧,1分钟生成一个架构所有的基本代码。我感觉有了它开发项目的效率简直好轻松。
(1)自动生成属性注释.
(2)可以自由设定命名空间和实体类名。
(3)免费提供数据库访问,页面数据校验等等基础类库及封装类库源码。自己可以对其进行修改保存满足自己的需要。
(4)支持不同类型数据层的生成: 基于SQL语句,基于参数,基于存储过程。
(5)支持选择不同架构代码生成:简单基本三层结构;基于工厂模式+反射机制+缓存机制的复合结构;自定义结构模版。
(6)可以生成增加,显示等页面主体Html代码,和后台.cs处理代码。
(7)支持对多种类型数据库生成代码:如SQLServer2000,SQLServer2005,Oracle,OleDb等。

2.数据库管理器。
类似SQLServer2000的管理界面,方便平常在代码编辑的时候想查看数据库的信息,并且可以很直观的查看字段类型,长度,主键,默认值等详细信息,省去了在代码和数据库管理器之间的来回切换,方便快捷。
(1)支持多种类型数据库。如SQLServer2000,SQLServer2005,Oracle,OleDb等。
(2)创建表脚本和存储过程及数据脚本,支持执行。
(3)导出表脚本和存储过程文件。
(4)表的重命名,删除操作。

3.查询分析器。
实现类似于SQLServer的查询分析器的功能,方便编写代码时想进行数查询。
(1)实现执行选中部分SQL语句。
(2)实现关键字高亮。
(3)支持F5快捷键执行语句。
(4)实现打开现有脚本,保存当前脚本功能。
(5)实现错误检测提示功能。

4. 自动生成存储过程和SQL脚本。
可以根据选定的数据库和表(可多选),生成表的创建脚本,以及表数据的插入脚本,同时可以生成表的增,删,改,查等操作的存储过程脚本。支持在当前生成和导出脚本文件功能.

5. 自动生成数据库结构文档。
可以根据选定的数据库和表(可批量生成),可以生成字段的详细信息,包括默认值,描述等信息.生成相应的表结构文档,免去手工写文档和操作的麻烦。

6. Web项目文件发布。
有时候我们需要根据自己的要求,导出项目文件,VS.NET自带的复制项目功能,对一些图片或js 文件等等其他一些文件,不能自动导出,除非把这些都添加到项目里。所以,有了这个功能,对项目发布非常的方便,并且支持自己定义哪些发布哪些不发布。

7. 代码生成自动导出功能。
代码生成可以选定一个表来生成代码,然后粘贴到项目里。但如果表很多,来回这么操作太麻烦,所以,这个功能可以按三层架构,自动建立文件夹,并自动生成所选的所有表的.cs代码文件,只需要添加到项目里就可以了。

8.其他功能:
(1) C#ToVB.NET代码转换器.
(2) 实现了热键呼出。可以自己设定热键.当你点窗口的[X]关闭程序时,程序会自动隐藏运行在任务栏,通过热键可以快速呼出窗口。


**************************************************************************************

同时,发布基于该模式的一套示例项目系统源码,包括完整UI。

下载地址:http://www.maticsoft.com/soft/Codematicdemo.rar

使用该架构与动软.NET代码自动生成器结合开发项目,可以大大节省开发时间,提高效率。
让开发变得轻松,使工作变得快乐!

****************************************************************************************

用智慧改变世界,用创造改变生活。其实,工作也很快乐!— 李天平

****************************************************************************************


13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧