公司想做一个框架,所有的添加,删除,修改操作全都用一个通用模块,请问如何实现?
如题!请问如何实现? --------------------编程问答-------------------- 做个 代码生成器即可 --------------------编程问答-------------------- 如果单张表的话那就比较容易.
但是这样做不够灵活.
--------------------编程问答-------------------- 接口, 但还是需要编码去实现, 最好还是 OR MAPPING 了. --------------------编程问答-------------------- 如果数据结构比较复杂的话,估计不是很好做
即使做好了,灵活性也不高,可通用性不是很强 --------------------编程问答-------------------- 没必要... --------------------编程问答-------------------- 公司现在的开发框架是分六层的,一般只用四层,如果每个模块的添加,删除,修改在每个层中都些的话,那样代码太多了,能不能每个层些一些通用的函数来实现??? --------------------编程问答-------------------- 给点意见吧,各位大哥!我接触.net的时间也不长! --------------------编程问答-------------------- mark --------------------编程问答-------------------- 写啊,写啊! --------------------编程问答-------------------- 参考相关开源的ORM!
--------------------编程问答-------------------- 楼上的高手意见都说完了。。
偶来帮你顶顶 --------------------编程问答-------------------- 根据需要使用各种适合的设计模式,再结合ORM,一般都可以实现
我一直摸索,可是要弄的很好感觉还是很难 --------------------编程问答-------------------- 这个简单,只要把代码生成器吃透了就可以了,
忘了一点,吃透了之后要换一个思路来表现代码生成器就可以了。
表单控件我倒是做了一个,不过,还不舍得拿出来,呵呵。 --------------------编程问答-------------------- 学习,帮你顶 --------------------编程问答-------------------- sqldatasource 什么都可以生成呀 --------------------编程问答-------------------- 你这个模块包括界面部分吗?如果不包括,就是简单的ORM,或者用DLinq也行,我个人推荐用Dlinq,不过暂时只有CTP版本。
如果包括界面,例如一张数据表要能自动生成一个对应操作的包含GridView的页,你就需要写BuildProvider了。BuildProvider非常强大,允许你添加一个模块到ASP.NET的编译管道中去,在ASP.NET编译时你的模块就能做有关的工作,例如自动生成那个包含GridView的Page的代码。很底层很复杂是吧?但往往这些底层的东西才能解决这样的问题。 --------------------编程问答-------------------- 理想是美好的,现实是残酷的;只能把重心放到业务重用上,而View应该面向业务 --------------------编程问答-------------------- 不知道这框架做出来啥样 :) --------------------编程问答-------------------- 关注 --------------------编程问答-------------------- 我们的框架是这样的,用CodeSmith生成表的对应CD对象,都是继承于DataTable,并且参数化表名以及列名。在逻辑层操作时使用的对象用这些CD对象来填充。在DA层中也是操作这些CD对象,具体生成SQL语句。存储过程用的很少,因为DB有时候用MySQL --------------------编程问答-------------------- 俺也一个小小的框架,他依托 CodeSmithStudio.exe 生成所有代码。
从功能上看,他能实现以下
1.能生成以hashtable,arraylist为基类的强类型集合类
2.能针对有主键的表生成查询,增加,删除,修改的SQL存储过程
3.能针对表生成基础类库,类中包含属性和常用的查询,增加,删除,修改方法,这些方法都是调用存储过程实现的。
4.生成前台的UI,UI界面是调用类库中的方法进行查询,增加,删除,修改的管理。
UI还针对不同的数据表有2套应用
4.1简单的对象的UI,针对数据记录数少,并且字段少的表,所有的管理在同一个文件中,采用dataGrid实现
4.2复杂对象的UI。针对数据记录多,字段多的情况,分成三个文件:**View.aspx,**Edit.aspx,**List.aspx
5.所有的数据访问都使用抽象接口实现,实现的代码就是另外调用存储过程代码
俺自以为俺的框架主要的目的是生成基础的代码,因此他具备很大的扩展性。
它是适合做一个对性能要求苛刻的前台门户的应用。
他的弱点就是每当数据库发生变化,要重新更新一序列的代码,这点是比不是ORMAPPING的方案
--------------------编程问答-------------------- 这需要很负杂的设计,从后台数据库,到中间的连接代码,以页面的形成都要考虑到统一性.我们做过一个但是,这中东西通用性只限于单表结果,非常简单.就象是一个大记事本. --------------------编程问答-------------------- 我就是做了一个简单的动动
用xml描述每个表的名称,字段以及主键信息
页面更具xml的描述生成UI并进行相应的操作。
--------------------编程问答-------------------- 楼上的不是一般的牛.... --------------------编程问答-------------------- up --------------------编程问答-------------------- SQLHelper --------------------编程问答-------------------- 开源的ORM NHibrenate --------------------编程问答-------------------- 定义一套接口或实现了部分内容的抽象类(比如像SELECT * FROM 表 这样的就可以先实现出来)
--------------------编程问答-------------------- 其实框架是能做出来的,例如MS的Web Client Software Factory(具体地址请通过Google搜索获得),就能够以软件工厂的模式为Web开发引入大量的自动化。其实凡是具有大量重复性的操作,都可以好像工厂那样引入生产线进行自动化生产,问题是在你的企业中设计生产线的成本是否足以抵消省去原本密集型劳动力的成本。 --------------------编程问答-------------------- 5角钱,我卖给你 --------------------编程问答-------------------- 看来很多语言都是类似的,呵呵。
对代码生成器比较感兴趣。
mark. --------------------编程问答-------------------- 留印,日后学习。 --------------------编程问答-------------------- 的确是需要研究下ORM,模块xml可配置,相对方便。 --------------------编程问答-------------------- 留言,学习 --------------------编程问答-------------------- 学习!!! --------------------编程问答-------------------- Ruby On Rails
mvc啦 --------------------编程问答-------------------- WWW.OISERVICE.COM --------------------编程问答-------------------- NHibernate --------------------编程问答--------------------
留言,学习 --------------------编程问答-------------------- 感觉不是个好用的东西。仅仅能做到不包含任何业务逻辑的数据库操作。 --------------------编程问答-------------------- 嗯,先看看. --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 代码生成器! --------------------编程问答-------------------- 没有做过,不过听起来应该不是一般的难! --------------------编程问答-------------------- up --------------------编程问答-------------------- orm --------------------编程问答-------------------- 没错,用RoR来开发也能很敏捷,不能说是你做了一个通用模块,因为RoR自身就是那个通用模块。
至于ASP.NET,你考虑要买一辆车还是买一条汽车生产线的问题咯,后者的价格比前者高几个数量级,但如果你能够生产相当多的汽车来卖,那么你是赚了的。 --------------------编程问答-------------------- 我比较同意ma(风筝) 的角度,在你追捧那些“竖井”式的理论之前可以先考虑ObjectDataSource 的思路。 --------------------编程问答-------------------- 如果用excel开发模板能够开发出非常灵活得代码生成工具,的确,这些简单的操作的确工作量很大。
竖井理论,第一次听说,呵呵,学习 --------------------编程问答-------------------- 学习,学习 --------------------编程问答-------------------- 新年快乐 --------------------编程问答-------------------- sichen365() ( ) 信誉:100 Blog 2007-2-13 16:27:30 得分: 0
公司现在的开发框架是分六层的,一般只用四层,如果每个模块的添加,删除,修改在每个层中都些的话,那样代码太多了,能不能每个层些一些通用的函数来实现???
我去搞个12层的来,有意义吗? --------------------编程问答-------------------- 这种通用的insert,delete,update,select对于维护来说是很难的一件事 --------------------编程问答-------------------- up --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 用这个开发模式吧:Web Client Software Factory,增删改查代码量不超过10行。 --------------------编程问答-------------------- codesmith --------------------编程问答-------------------- 站个位置 --------------------编程问答-------------------- 哪有通用的模块,用代码生成器吧 --------------------编程问答-------------------- mark,等待~~·学习~~~
补充:.NET技术 , ASP.NET