首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
ASP.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结帖去...
管理菜单
页面风格切换
标准风格
老版本论坛
我的一个想法 关于三层结构的 大家进来讨论一下
[已结帖,结帖人:moonwrite]
加为好友
发送私信
在线聊天
moonwrite
等级:
可用分等级:
短工
总技术分:
28
总技术分排名:
162374
结帖率:
92.65%
发表于:
2008-11-08 12:15:41
楼主
基本上网上很多教程的三层结构做法都是
1.新建一个空白项目
2.添加一个项目BLL
3.添加一个项目DAL
...............
然后相互using 什么的
而我的想法是:
1.新建一个web项目
2.在App_Code新建文件夹BLL
3.在App_Code新建文件夹DAL
...............
连using都不用了....不是很方便吗
而且在其他namespace中调用一个方法的写法是: 程序集名.类名.方法名
这样写不麻烦吗~~~
因为是讨论的 所以不给分了 每次给分都很难分配.....
问题点数:
0
回复次数:
8
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
爱拼才会赢这几个字被台湾人自己了
等级:
可用分等级:
中农
总技术分:
75387
总技术分排名:
86
发表于:
2008-11-08 14:00:14
1
楼 得分:
0
所有代码写在一个cs文件中也成!
用文件或者目录名来标记是不是三层,这很可能是假三层。
实际上,在asp.net应用程序中,通常你也可以仅使用一个cs文件并且文件中只有一个叫做BLL的class来书写BLL层。
不过,怎么写都可以,看到为了形式而写三层我们偷着讥笑吧,不要刺激他。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Leo_0924
o畏_坤坤
等级:
可用分等级:
长工
总技术分:
205
总技术分排名:
64728
发表于:
2008-11-08 14:07:16
2
楼 得分:
0
为什么克制自己一定要用几层呢?对于层的理解又有多明白。
其实最重要的是把东西集合起来,方便使用即可。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
爱拼才会赢这几个字被台湾人自己了
等级:
可用分等级:
中农
总技术分:
75387
总技术分排名:
86
发表于:
2008-11-08 14:12:11
3
楼 得分:
0
恩,可能我这次又回复的太快了,影响了大家讨论。不过既然已经如此了,我干脆就直接补充吧。
实际上,BLL这几怎么能从数据库结构或者对象结构来归纳呢?!现有对象还是先有业务模型?当然是先有业务模型,或者至少是先有业务模型再用对象设计进行细微的参数调整。因此,BLL其实不太适合在具体的对象class中封装,BLL实际上就是等价于传统的结构化编程的“函数库”,BLL往往是一堆static方法的简单集合。就好像SQLHelper之类的那种函数库一样,一堆BLL方法平铺直叙地列出来就可以了。
把BLL方法按照业务对象class分开打包,误解了BLL,而且增加了多余的复杂性。这反倒不是OO设计的好的实践。class应该做对象应该做的职责,而BLL方法都是是后台系统对前台系统的api功能接口,它是界面与后台之间的转换,既不能偏颇与界面对象的分类方法也不能偏颇与后台业务对象的分类方法,它纯粹使用结构化风格也是很好的。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
chinawes
小小笨^)^
等级:
可用分等级:
中农
总技术分:
948
总技术分排名:
21676
发表于:
2008-11-08 14:17:37
4
楼 得分:
0
我个人理解,3层结构作为一种架构,让程序看起来更清晰,易于管理,封装的更好,易于维护。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
爱拼才会赢这几个字被台湾人自己了
等级:
可用分等级:
中农
总技术分:
75387
总技术分排名:
86
发表于:
2008-11-08 14:29:05
5
楼 得分:
0
或者换句话说,BLL往往是结构化的,因为BLL往往为不同种类的客户端程序服务。你可能使用一个WCF服务器端对象来定义一个后台api方法,例如
void 找出某人的一个同事拉出来加双薪(Person user);
这个接口方法。但是如果同样的方法需要被mobile客户端调用呢?.net cf2.0不支持WCF。可能还有很很多其他客户端,甚至vb5.0或者vba(在Word文档中嵌入的一个程序)客户端调用这个同样的BLL程序集,那么你迟早要定义一个方法:
void 找出某人的一个同事拉出来加双薪(string userName);
因为BLL就是依据快速完成客户端应用来设计的,而不是为了体现后台Person类型的什么设计模式来设计的。你经常需要把BLL进行扩充,而驱动你进行重新设计BLL的是界面设计需求的频繁改变,而不是业务对象设计频繁改变。BLL隔离了不同客户端的的差别,甚至同一种开发工具下不同的客户端设计方法的差别。BLL方法是对业务事务的比较粗颗粒的功能调用api方法,往往不是或者无需是面向对象封装的。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
sp1234
爱拼才会赢这几个字被台湾人自己了
等级:
可用分等级:
中农
总技术分:
75387
总技术分排名:
86
发表于:
2008-11-08 14:30:11
6
楼 得分:
0
为了三层而三层,使用时离实际有一段距离。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lihjay
默鱼
等级:
可用分等级:
贫农
总技术分:
98
总技术分排名:
93428
发表于:
2008-11-08 14:54:39
7
楼 得分:
0
我看够老赵的部分示例,就是用楼主的方法做的
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
moonwrite
等级:
可用分等级:
短工
总技术分:
28
总技术分排名:
162374
发表于:
2008-11-10 09:56:20
8
楼 得分:
0
我不是为了写三层而三层
而是看了三层结构的写法后 好奇有经验的高手们为什么要那么写 那样写有什么好处
学习思想:为什么是这样 而不是那样
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结帖去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友