Java的SSH已经众人皆知了,不需要多作解释。在.net里面目前也有一些SSH式的架构,今天我尝试讲解一下在.net下面如何用Java的开发方式架构系统,当然需要用到不同的框架,有些可以自己开发。
Java SSH = Struts + Spring + Hibernate (Mybatis...及其它):
Struts控制视图层,也就是控制页面层和业务逻辑层的关联,有struts 1.x 和2.x,目前基本用2.x。
Spring俗称控制反转,或依赖注入,对对象进行托管。
Hibernate控制持久层,也就是数据库层面的数据交互问题,是ORM的一种。一般实现方式有:code first,也就是先有实体对象,然后根据实体对象生成相应的数据库和数据库表,以及表和表之间的依赖关系;还有就是一个相反的过程:先根据业务需求创建数据库,再根据数据库生成实体对象。两种方式根据需求而定,如果数据库相对非常复杂,那就比较适合后一种,因为需要专业的数据库架构才能满足要求。
以上就当科普知识,因为具体操作会涉及到非常多的配置文件来实现这种架构。
那么来对比一下.net里面有什么?
Java SE | .Net Framework |
---|---|
web服务器:Tomcat, Jetty等 | IIS不同版本:express, 6.0,7.0,8.0等 |
Struts 1.x, 2.x | asp.net mvc 1~5 |
Spring | 有一个三方的Spring.net,或自己实现 |
Hibernate, Mybatis, iBatis等 | Linq to SQL, Entity Framework,三方的Nhibernate等 |
Market, Maven | NuGet, Packages.config |
开发方式的区别:
Java各种不同框架都以XML格式文件来进行配置,SQL语句可以写在Dao对应的xml配置文件里面,或者使用HQL来进行查询,或者是JDBC。
.Net配置文件后缀为config的配置文件,xml格式,在asp.net mvc里面有不同的配置文件放在app_start文件夹里面,是cs或vb文件,其实是一个类文件,包管理的配置为packages.config。Asp.net的配置文件为web.config。Config文件可以分布在系统不同目录下面,每个配置节有不同含义,配置节点可以自己定义或扩充,还有系统级的配置文件放在.net framework安装目录下面,控制运行在机器上的所有.net系统,也称全局配置。 桌面系统为app.config。.net数据库访问是ado.net,或者linq。或者ORM技术。
对比发现其实.net framework里面没有现成的spring框架,需要自己实现,或者三方。就目前.net开发方式而言有web form和mvc两种官方解决方案,web form一直以易学易用而自豪,但也不具备mvc的优点,mvc效率高、架构清晰、耦合度低、开发起来其实更为简便。
所以就.net而言实现SSH架构不是难事儿,而且asp.net mvc4基本就能实现,目前asp.net mvc已经开源,所以可以根据需求自己扩充。下一篇博客我会逐一介绍.net现有的可以用于架构SSH架构的技术:
1. Linq to SQL
2. Entity Framework
3. Asp.net MVC 4
4. Spring在.net里面的实现思路,以及如何实现类似Java一样的xml配置文件。