当前位置:编程学习 > C#/ASP.NET >>

.net三层架构具体实现之我见

1.在表示层。把页面表单元素实现为一个model类。把传这个model类对象传递给业务层。
2.在业务务。构造一个Sql语句,用model类构造一个参数数组.再把这个参数数组和sql语句传递给数据层.
3.在数据层.把这些参数数组添加在Command类的参数集合中.实现对数据库的操作.
这是我对三层架构实现的初步理解.不知正确与否,请朋友们指点一下.
--------------------编程问答-------------------- 我是把构造SQL语句放在数据层里的 --------------------编程问答-------------------- 顶下!! --------------------编程问答-------------------- 2.在业务务。构造一个Sql语句,用model类构造一个参数数组.再把这个参数数组和sql语句传递给数据

这个应该是数据访问层应该做的事情
业务逻辑层是负责大量的业务逻辑的实现,一般小的系统,例如小型网站业务逻辑层没有作用 --------------------编程问答-------------------- 业务层,我做的系统里面基本没有什么作用;只是一个过渡
数据层里面有所有的数据操作;业务层的东西基本被转移到了表现层和数据层了 --------------------编程问答-------------------- 刚接触.net,看了petshop,觉得他的三层架构好麻烦阿!
   每个表或者说是针对表的业务,都被封装起来了。如果我的系统稍微大一点,比如说有几百个表,需要按照业务,分别封装好多个类阿。而且,如果做的时候考虑不周全,要改动表结构的话,修改也挺麻烦的。不知道大家如何处理的阿?
   还有,对于楼主的将sql语句在业务层就封装好了,如何实现不同数据库的sql兼容问题啊? --------------------编程问答-------------------- 比如说你去餐馆吃饭,你对点菜员说你要什么什么,过几分钟饭菜就陆续上来了,这就是餐馆给你准备好了一个应用服务系统界面层,以便让客户能够有更舒适、更灵活的享受服务带来的便利。如果需要顾客自己卖菜、择菜、刷碗筷,谁还去餐馆呀。

业务层“刻意”突出面向领域的对象模型,这是其追求的目标。 --------------------编程问答-------------------- 在基于数据库系统的系统中,最简单的业务建模方式就是选择一个成熟的ORM系统,或者自己实现一套ORM。而ODBMS、SOA等则是更为方便或者灵活的。 --------------------编程问答-------------------- “餐馆前厅”这个应用层是标准化的,它与厨房有天壤之别。

许多小程序,业务层与数据底层的差别不大,你可以先不考虑那么多。但是一旦你掌握了一、两套业务建模框架,你可能可以迅速搭建大型应用系统,并且将这些框架研究一辈子。 --------------------编程问答-------------------- agree with you --------------------编程问答-------------------- 还是不明白 --------------------编程问答-------------------- ASP.NET就是为两层开发量身打造的,
刻意使用三层架构反而麻烦
--------------------编程问答-------------------- 这个.. --------------------编程问答-------------------- 个人感觉就是分清了职责

三层架构是封闭式体系结构,也就是说只能逐层调用
表示层只能调用业务逻辑层,业务逻辑层也只能调用数据层
所以在表层示不应该看到sql语句,在业务逻辑层也不应该看到连接对象 --------------------编程问答-------------------- 这个是见基本的三层,也是代码生成器生成二最多的代码? --------------------编程问答--------------------
引用 7 楼 sp1234 的回复:
在基于数据库系统的系统中,最简单的业务建模方式就是选择一个成熟的ORM系统,或者自己实现一套ORM。而ODBMS、SOA等则是更为方便或者灵活的。


能否分享一下您的ORM经验? --------------------编程问答--------------------
引用 15 楼 goga21cn 的回复:
引用 7 楼 sp1234 的回复:

在基于数据库系统的系统中,最简单的业务建模方式就是选择一个成熟的ORM系统,或者自己实现一套ORM。而ODBMS、SOA等则是更为方便或者灵活的。


能否分享一下您的ORM经验?

... --------------------编程问答-------------------- 比如说你去餐馆吃饭,你对点菜员说你要什么什么,过几分钟饭菜就陆续上来了,这就是餐馆给你准备好了一个应用服务系统界面层,以便让客户能够有更舒适、更灵活的享受服务带来的便利。如果需要顾客自己卖菜、择菜、刷碗筷,谁还去餐馆呀。 

业务层“刻意”突出面向领域的对象模型,这是其追求的目标。 --------------------编程问答-------------------- 我只看看   我不说话 --------------------编程问答-------------------- 关注中....... --------------------编程问答-------------------- 我只看看 我不说话 --------------------编程问答-------------------- 实体类,我一般都是从数据层出来的,不是根据页面的表单设计的 --------------------编程问答-------------------- 强烈建议SQL语句不要写在业务逻辑层,应该写到数据访问层,这样业务层才可以和具体的数据库脱离依赖。建议楼主下载一个强大的三层架构例子看看:
http://blog.csdn.net/bluedoctor/archive/2010/01/24/5251913.aspx --------------------编程问答--------------------
引用 5 楼 pzh313 的回复:
刚接触.net,看了petshop,觉得他的三层架构好麻烦阿!
      每个表或者说是针对表的业务,都被封装起来了。如果我的系统稍微大一点,比如说有几百个表,需要按照业务,分别封装好多个类阿。而且,如果做的时候考虑不周全,要改动表结构的话,修改也挺麻烦的。不知道大家如何处理的阿?
      还有,对于楼主的将sql语句在业务层就封装好了,如何实现不同数据库的sql兼容问题啊?

这个问题,你借助PDF.NET框架的思想就可以很好的解决,其实这也是业界公认的方法,用Model封装表的变化,用ORM屏蔽具体的数据库。 --------------------编程问答-------------------- 本人不发表任何意见 --------------------编程问答-------------------- 路过学习··· --------------------编程问答-------------------- 就看看  --------------------编程问答-------------------- 就面向对象编程的思维来说,我不赞同LZ的看法。。。

顶sp1234老师的。。。 --------------------编程问答-------------------- 感觉LZ把层次都往上推了一层~~~ --------------------编程问答--------------------  呵呵,三层三层三层。 --------------------编程问答-------------------- 专业路过。。。。。。。。。。。。 --------------------编程问答--------------------
引用 3 楼 fphuang 的回复:
2.在业务务。构造一个Sql语句,用model类构造一个参数数组.再把这个参数数组和sql语句传递给数据

这个应该是数据访问层应该做的事情
业务逻辑层是负责大量的业务逻辑的实现,一般小的系统,例如小型网站业务逻辑层没有作用


相同的观点!
--------------------编程问答-------------------- 我觉得三层结构主要是为商业软件服务的,有利于软件的整体构架搭建,方便后来人员的开发,减轻后学开发负担,如果自己写的小点的程序什么的完全可以抛弃结构模式开发,自己处理好数据关系,就可以了 --------------------编程问答-------------------- 三层架构实例:http://www.pwmis.com/sqlmap --------------------编程问答-------------------- 业务逻辑层有问题了你。。。。。

业务逻辑啊。。光听名字就知道是处理 代码上逻辑问题的。。。。不会对SQL有任的操作。。。。。

比如登录的权限分配啊。。。什么的都写在这里面。。 --------------------编程问答-------------------- 很多人 很多时候 都把 业务层和数据层 混合起来用 这是个不好的 习惯。 --------------------编程问答-------------------- 不建议,业务层构造sql,这是数据层的事;业务层只处理数据
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,