首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(0) | 引用(0) | 阅读145次
20080403 XPlanner orm

20080403 XPlanner orm
http://www.shengfang.org


HQL作为Hibernate/NHibernate的查询语言,提供了完全面向对象的语言级查询功能~比起sql满天飞的情况,它的优势很明显,易于维护,易于复用,符合面向对象的思想~一个成功应用了ORM的项目,将找不到任何一个sql在代码层里~当然,作为一种映射关系,在达到灵活性的同时是需要付出一定的性能代价的~需要资源来维护这个映射关系,同时还存在的一些不可控的性能问题~记得以前有篇文章上一位项目经理谈到:只有在一个项目组的成员都清楚了解ORM的应用和所带来的性能问题的时候才会考虑在项目中实践ORM;
的确,ORM为我们自动的维护数据库,自动的生成sql语句~很可能一个提取用了很多条语句,或者一次提取取出过多的数据~如果不能很好的使用和控制~那么~性能将有会很大问题;

IOC容器则是ORM不得不提及的东西~控制反转,依赖注入,java中已是久负盛名的实践;(还没有使用过,只是了解原理)

先介绍几个我所比较了解的ORM框架:
Hibernate 不用说了 大家都听说过

IBaits:半自动化的工具,需要手动处理一些操作,但是这样还是提供了很大的灵活性,可控

NBear :博客园的Teedy开发的,现在版本到了V3,反响还是不错的,博客园的ORM貌似就是用这个框架

NetTiers 一个朋友推荐的,不过看了感觉不是很来劲,所以没有去多看有兴趣的可以看看这篇介绍:http://www.cnblogs.com/iCaca/archive/2007/07/10/812632.aspx

SubSonic也是一个很不错的框架

Castle ActiveRecord 一个支持多个平台的框架,在ruby rails有很出色应用;这也是这几天项目中在实践的架构~

http://www.cnblogs.com/iCaca/archive/2007/07/10/812632.aspx
NetTiers学习笔记08---Entity层的扩展和EntityDataSource的使用方法

你是一个习惯于拖放一切的ASP.NET开发者,基本上不想写任何业务逻辑之外的代码,数据访问层用Typed DataSet或者Linq to Sql搞定,界面用现成的Control和Extender。
如果做稍微底层一些工作的,编写Control、Extender、HttpHandler、HttpModule等可复用组件以便为自己或别人提供方便的。
有很多内置组件是设计为对另外一些内置组件特别照顾的,这类型的耦合在Reflector中阅读代码时是最难以理解的,如果阅读有注释的代码相信会轻松不少。

http://www.80diy.com/home/20060815/07/4949724.html

技术茶话会主题:CodeSmith&NetTiers Step by Step
http://www.cnblogs.com/suryani/archive/2007/11/27/973893.html

http://www.cnblogs.com/iCaca/archive/2007/04/20/685889.html
NetTiers学习笔记01---调用Data层操作数据

http://www.iqidi.com/Database2Sharp.htm
 NHibernate、Castle-ActiveRecord和PetShop架构的C#代码生成工具 Database2Sharp

http://www.cnblogs.com/wuhuacong/archive/2006/09/26/514730.html
代码生成工具随笔(2) ---我的生成工具

1、请问NHibernate+spring.net+atlas和ibatis.net+castle+magicajax哪个搭配好呀? 
  
  其实castle是集成了nhibernate的,而nhibernate对存储过程支持性不太好,所以castle对复杂查询支持的不是太好,这点不如 ibatis.net。castle里的active   records对多表更新是事务支持也不太好,但是复杂查询什么的可以用HQL语句,所以大部门的查询也能应付的了,另外castle里还有 IBatis.net   Facility和NHibernate   Facility,让事务和多表更新更方便了,ibatis.net灵活,可以在配置文件里写SQL,但是这样就不如nhibernate更OO了。其实持久层还有一个比较好的就是nettiers2+codesmith,现在对.net   2.0支持的也特别好,而且是符合微软的数据访问最佳实践,性能我感觉也是最NB的,它用了entlib的DAAB。我以前研究的CMP持久模式现在感觉也没啥优势了,虽然java那边的ejb3.0好像还是推荐容器托管持久性。持久层框架就总结这么些了。 
  
 业务层框架spring.net好像是基于工厂方法+向接口编程+Context来实现AOP,而且它的配置文件很复杂,比较麻烦,而Castle的AOP虽然配置文件简单,但用了大量的反射,估计性能不如spring.net,而且spring.net提倡面向接口编程,对程序架构有个好的引导。 
  
 表示层框架.net这边没有webwork和structs对应的东西。但是大家可以看看智能客户端的应用块CAB,那个挺值得研究的,web表示层现在都关注ajax,我只用过ajax.net和teed的ajaxhelper,感觉这两个都挺灵活的,但不强大,magicajax和atlas没用过,不过听说这两个的ajax容器更强大一些,而且atlas调用webservices的方式好像更容易维护,另外像google,yahoo等都推出了一些客户端的ajax   UI,挺不错的。关于ajax也确实想找个好的框架,不过如果大家直接给推荐一个我就省的都一个一个的试用和评估了。另外推荐《ajax实战》这本书,写的简直太好了,一些思路特别值得借鉴,考虑问题也很全面细致。  

 Enterprise LibraryV1.0-数据应用程序块
 http://lifework.cnblogs.com/archive/2005/08/04/207715.html

http://www.cnblogs.com/eddie005/archive/2006/08/08/471446.aspx
在ASP.NET 2.0中操作数据::在ASP.NET页面中处理BLL/DAL层的异常

http://www.xplanner.org/

Overview

XPlanner is a project planning and tracking tool for eXtreme Programming (XP) teams. If you are not familiar with XP software development practices, the links page contains pointers to relevant resources. To summarize the XP planning process, the customers pick the features to be added (user stories) to each development iteration (typically, one to three weeks in duration). The developers estimate the effort to complete the stories either at the story level or by decomposing the story into tasks and estimating those. Information about team development velocity from the previous iteration is used to estimate if the team can complete the stories proposed by the customer. If the team appears to be overcommitted, the set of stories are renegotiated with the customer. The XPlanner tool was created to support this process and address issues experienced in a long-term real-life XP project.

Technology and Architecture

XPlanner is built using a layered architecture. At the lowest layer, the persistent data is stored in MySQL and accessed using JDBC. In general the relational data is not accessed directly, but is loaded as Java objects using the Tornado object-relational mapping engine. The "business logic" layer (the actions) manipulate the planning domain objects and provide them to the presentation layer which formats them using JSP (including several custom tags), form handlers, CSS, and HTML. All static text on the pages is stored in a resource bundle to support internationalization.

   1.  XPlanner有整合wiki的功能, 但是在这一版本中有一个Bug, 就是连接wiki的link有问题。
   2. 缺少相互讨论的平台,而且对Task等的修改,缺少及时的mail提醒功能。

   XPlanner是一个基于Web的XP团队计划管理和跟踪工具。XP独特的开发概念如Iteration、User
Stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。
XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual Note Cards)、Iterations、User
Stories与工作记录的追踪,未完成Stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。


字体:


Permanant URI永久地址 http://www.shengfang.org/blog/p/20080403XPlannerorm.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1230378711

2008年12月27日19:51星期六  [Info资料] 追踪此文的RSS
提示:
此文还没有评论。

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1790
在线: 13||用户: 2562 [列表]
今日:11||到访:2669510
Rss:837703||评论:1584

最新日志

最新评论

友情链接

日历

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8