三层与养猪,加入自己的理解。http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044665.html
浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做 http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044643.html#
与高手讨论。才能有收获。不要怕问。
其实MVC只有两层。MODEL从来就不是层。
而三层。是把 数据库操纵的层(C) 改变。为 两层。BLL和DAL。所以成了3层。所以MVC不是三层。而三层之外也早已经独立了Model
所谓的本质 两层MVC 变 三层 其实是C变BLL+DAL 。
而核心 其实是DAL 。
在动软的三层中。 IDAL。 SQLServerDAL 。DALFactory.
IDAL.是一个接口。意义:用来封装。 意义不是很大。
DALFactory.是核心技术:Factory的名字不是白叫的。它就个工厂。 是利用抽象工厂模式,实现的,多个数据库的根据命名空间选择。SQLServerDAL 或者OracleServerDAL。
利用抽象工厂,就肯定利用反射技术。 利用此技术,使我们针对不同数据库的T-SQL语句的不同写法的 头疼,得到解决。不需要再去理解它是 怎么写的了。
就好象微软.NET的IL技术一样。支持多种语言。
要求。:只要引用对应的命名空间就好了。
SQLServerDAL 就是具体的数据的SQL语句的操作。它也可以是OracleServerDAL。这个根据你所写的命名空间来进行抽象工厂+反射的自动映射。你也可以把这两个都放在文件夹下。那么你的数据库的环境不同时。只要进行 一个简单的 WEB.CONFIG 的 命名空间的改动就可以了。 不需要改动数据库有关的所有 T-sql语句代码。
-------------不好意思。刚才把C写出V了。现在该过来了。如果各位有更好的意见。请告诉我吧。我确实比较菜。
先要像大家。说声:如果是来讨论问题的。我很高兴。因为我的水平很菜,知道博客园里都是大哥,所以想能跟你们学点东西。有很多大哥,对MVC ,三层理解的很高深,我很多都看不懂。可也知道你们是在讨论技术,我很崇拜。可是一些在这里说我标题怎么样怎么样的。我实在不知道该怎么说你?我发这篇文章是为了记下师姐教我的。师姐她很好。别人根本都不教我。 希望那些不知所谓的无聊的看者不要留言。如果是看我技术不好,指点我。我特别感激。谢谢大家。因为你们有的留言太高深,我看不懂。就不一一回复了。谢谢指教。