微商网站推广,中国可信网站认证,做h5好的网站,江苏商城网站建设服务这是我4月份发在donews博客上的文章,现在都转到博客园来#xff0c;风满袖希望进一步阐述你的架构#xff0c;我就将这篇文章转移到博客园。原文#xff1a;http://blog.donews.com/shanyou/archive/2005/04/23/347792.aspx 以我个人的能力#xff0c;没有足够的时间和…这是我4月份发在donews博客上的文章,现在都转到博客园来风满袖希望进一步阐述你的架构我就将这篇文章转移到博客园。原文http://blog.donews.com/shanyou/archive/2005/04/23/347792.aspx 以我个人的能力没有足够的时间和资源自行开发一套完整的平台。在已有的众多开源项目中选择若干优秀的项目进行整合。“站在巨人肩膀上”是牛顿有一句名言.同样适合我们的IT行业。 我对平台的技术架构的构想是采用开源的ORM框架做数据持久层 Asp.net没有合适的Web层框架就采用Asp.net的Code-behind方式编写代码数据持久层同Web表现层之间的连接采用IOC的容器。 1、 开源框架选择 数据持久层Nhibernate和IbatisNet这两个都是非常优秀的数据持久层Nhibernate是优秀的Hibernate的dotNet移植版本在开源社区具有非常高的人气IbatisNet是Data Mapper框架也是JAVA版的Ibatis的移植版本在dotnet的开源社区一样是非常受欢迎的一个工具。Nhibernate用于支持非常好的面向对象的设计的模型IbatisNet用于支持应用程序的移植已经存在数据库处于生产状态这两个框架对开发人员的要求。这样就具有更大的弹性。IOC容器Spring.Net和Castle这是两个dotnet非常优秀的IOC容器。Spring.Net同样是Java的Spring 的移植版本目前的版本是0.6Castle则是dotnet下出现新的IOC容器,它的功能成熟度方面比Spring.Net好得多框架中准备采用Castle.最后的平台的技术架构就是Nhibernate/IbatisNet Castle ASP.NET 2、 架构整合 Web层的Asp.net负责数据输入输出, 响应用户事件及输入校验的工作Web层上如何得到Nhibernate的Session和IbatisNet的SqlMapper?本架构中的DAO,Service以及 Nhibernate的Session和IbatisNet的SqlMapper都是通过Castle进行管理Web层如何得到Castle IOC容器的实例呢参照文章在asp.net页面上得到Castle容器的实例 。Asp.net页面通过Service处理业务逻辑Service负责use case逻辑, domain相关的逻辑委托给domain model去实现. Service通过DAO完成对domain model的持久化工作. Service负责数据库事务和NHibernate Session/IbatisNet SqlMapper的管理。Domain model负责表示问题域的数据DAO使用Nhibernate/IbatisNet持久化数据以及查询. 在实现DAO时, 我们使用了Castle的Nhibernate/IbatisNet DAO Support,极大地简化了代码, 很多方法都只用简单的一行完成。这样的架构优点很明显, 层次清晰, 各层的职责也明确, 便于分层设计与开发, 结合mock和Castle的IOC, unit test也是非常容易的. 而且后台(Service, domain model and DAO)的代码不依赖于Asp.net框架同样的代码可以在Web App也可以在WinForm上面使用只需更换UI层。 使用的框架工具的链接 http://www.castleproject.org/castle/show/HomePage http://nhibernate.sourceforge.net/ http://sourceforge.net/projects/ibatisnet/ 另外这里有一篇精彩文章应用系统架构设计 转载于:https://www.cnblogs.com/shanyou/archive/2005/09/23/242680.html