DotNet软件开发框架
以我个人的能力,没有足够的时间和资源自行开发一套完整的平台。在已有的众多开源项目中选择若干优秀的项目进行整合。“站在巨人肩膀上”是牛顿有一句名言.,同样适合我们的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.6,Castle则是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层。
使用的框架工具的链接
分享到:
相关推荐
DotNet开源开发框架NetDF_V2.0源码 源码描述: 一、源码介绍 1、NetDF开发框架2.0版本为开发框架,将会不断更新版本,此开发框架旨在征集开源爱好者的建议,为广大开发者提供一个有利于学习、快速开发高性能、稳定...
将会不断更新版本,此开发框架旨在征集开源爱好者的建议,为广大开发者提供一个有利于学习、快速开发高性能、稳定、设计合理规范、代码可读性强、容易理解、容易维护、扩展性好、客户体验好的软件系统的框架,此框架...
此开发框架为免费开源的开发框架,会不断更新版本,旨在征集开源爱好者的建议,为广大开发者提供一个有利于学**、快速开发高性能软件的框架,此框架对所有源码开放。 十分具有学**价值,值得推荐一下,感兴趣的朋友...
一、源码描述 此开发框架为开源的开发框架,会不断更新版本,旨在征集开源爱好者的建议,为广大开发者提供一个有利于学习、快速开发高性能软件的框架,此框架对所有源码开
.NET的反射在软件设计上的应用 关于跨程序集的反射 实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的...
.NET框架(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile softwaredevelopment)、快速应用开发(Rapidapplication development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年...
Awesome .NET!:很棒的.NE库、工具、框架和软件集合
基于WPF框架,无具体功能的软件自动更新程序config,用户可以新建配置文件,并根据配置文件生成新版本
在我们开发软件过程中,经常做一些大量重复的编程劳动,为了把程序员从繁杂的重复劳动中解脱出来,我们开发了这套代码生成工具,它可以把数据库表映射成相应的.Net 三层架构的类及页面代码,程序员基本不需要编程就能...
.NET Core是适用于 windows、linux 和 macos 操作系统的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),...
在软件开发过程中,常要面对因需求变化而引起软件更改的情况,不但软件主体需要 变动,同时部署也需要变动。这种代价可能是巨大的。本文针对这种情况,使用插件式的软件 开发方法,成功地避免了因需求变化而造成软件...
SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1]...
是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1]...
是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台[1]...
dotNet4Java是用于Java的.Net运行时库,可帮助Java开发人员轻松使用Java中的.Net框架和第三方库。 它旨在提供一种与Java中任何.Net语言(例如C#,Visual Basic.Net,Delphi.Net,JScript.Net等)编写的应用程序进行...
最后一次同步时间:2020-08-11(每月同步一次)|| 国内:国内优秀的库,框架,工具,软件,播客,公众号等。中文:英文awesome-dotnet-core的翻译版本英文:英文awesome-dotnet-core很棒的.NET Core灵感来自 , , ...
有没有搞SNMP开发的朋友啊?现在是网络时代了,SNMP是最流行的标准网络管理协议,国外早就发展得非常完备了。而国内还刚刚起步,有眼光的兄弟们...建议大家使用.net框架开发涉及到网络、数据库的应用程序,的确很方便!
我们也接受专有和商业软件。 感谢所有,您真棒,没有您就不可能! 目标是建立一个由社区驱动的非常知名的资源分类集合。 查看我的或在招呼! 内容 一般 -官方的ASP.NET Core文档站点。 -.NET Core,C#,F#和...
Photon Server是一款实时的Socket服务器和开发框架,快速、使用方便、容易扩展,服务端架构在Windows系统平台上,采用C#语言编写,Photon Server发布包括两个部分,Client SDK Release和Server SDK Update,Server ...