MyException - 我的异常网
当前位置:我的异常网» ASP.NET » 分享三层(多层)开发中的经验,该如何解决

分享三层(多层)开发中的经验,该如何解决

www.MyException.Cn  网友分享于:2015-08-26  浏览:9次
分享三层(多层)开发中的经验
1.实体类尽量用组合而不是继承,更不要用一个字段表示外键关系,因为这样在数据显示的时候会带来麻烦
2.无论是dal层还是bll层还是其他层都应该用异常处理机制而不是用错误处理,比如返回int,或者一个对象,这样都不好
  因为这样除了增加文档外还要程序员每次去if (返回值==XX)
3.每层都用接口编程,对外只是暴露接口,
4.如果是自己写dal层的话,不要用sql拼接的方式
5.最好不要用存储过程,特别情况例外,因为存储过程影响调试和维护
6.不要指望你的程序员既要熟悉数据库又要熟悉程序,发挥他的优势就好,(主管或者项目经理是追求完美主义的除外)
7.每层命名规范要到位。
8.没有经过需求调研不要编码为好,因为就开始编码了基本上是白做的,因为都是你个人想法而已(但是我却做了,最后等死)
9.不要XX人说这个不好看或者性能不好就改,因为他可能不是决策人,即使是也要写在文档里,待下个版本或其他进度完成的时候分配来做
(我现在就这样,所以经常磕磕碰碰,最后大家都累死)

其他的留给大家发挥了。。。

------解决方案--------------------
sf
------解决方案--------------------
接分.


三层客户/服务器 

一:优点:灵活性和可扩展性。 

应用三层开发技术(分布式)的原因 

(参考书目: Delphi 5.x分布式多层应用系统篇) 

一:解决客户机/服务器结构的维护成本问题,改善客户机/服务器结构延展性问题。 

客户机/服务器结构支持的用户人数有一定限度(200人以下)。则种结构限制了Internet/Intranet及电子商务的发展。三层开发应用Database Pooling, Object pooling,Resource Pooling,线程模式提供了高度延展性。 

二:解决应用逻辑重复使用的问题。 

例如:当企业要在原有的客户机/服务器结构上添加Web浏览服务时,就需要配置Web服务器,重新编写所有应用逻辑,并且更新MIS系统。在三层结构中,用COM/DCOM, CORBA(Common Object Request Broker Architecture)对象,或Enterprise Java Bean等,封装企业的逻辑程序代码(称之为企业对象),可以解决上述问题。大大降低开发和维护的成本。 

三:整合不同系统结构的需要,及时应用新技术的需要。 

二:Microsoft的三层服务模型 

1:结构:是windows DNA(distributed internet applications,分布式内部网)COM(component object model ,构件对象模型)构件作为实现系统及应用程序服务的工具。 

l 用户服务 

l 业务服务 

l 数据服务 

(1)用户服务:windows DNA定义了四种可用于实现用户服务层的客户: 

n 标准浏览客户:依赖于简单,基于页面的HTML来管理数据表示和与用户进行交互.其兼容性 很好,功能不丰富。 

n 增强型浏览器客户:汲取某个特殊浏览器(ex: Dynamic HTML ,脚本及ActiveX控件)的优点来最大化用户接口的丰富性和功能 ,适用于公司intranet . 

n 依赖型Internet客户:能在客户机器上将对Internet的访问和对操作系统的访问集成在一块。 

n 增强型Internet客户:Microsoft Office 97和Microsoft Visual Studio. 



(2)业务服务:通过将基于服务器的Microsoft产品与定制的COM构件运行环境集成在一块来实现。 

n Web服务( Microfsoft Internet Information Server与Active Server Pages ). 

n 事务和构件服务 (Microsoft Transaction server和 COM) . 

n 消息服务(Microsoft消息队列服务器)。 

n 通用数据访问(universal data access)(Microsoft数据访问过件) 

l 大型机环境的互操作(Microsoft SNA服务器). 其详细信息在下面的专题中列出。 



(3)数据服务: 


n Microsoft SQL Server7数据库。 

n Microsoft Exchange server 5.5版本的目录和信息库。 





专题: 

业务服务 

一:Web服务( Microsoft Internet Information Server与Active Server Pages ). 

Web服务对象模型: 

1,server对象:提供对服务器上方法和属性的访问.例:问(universal data access)(Microsoft数据访问构件) setobjmyobject=server.createobject(“businessserver.myruleobject”) 

2:Session对象: 用来存储一个特定用户会话所必须的信息。 

3:Application对象:用来使某个应用程序的所有用户共享息。 

4:Request对象:略。 

5:Response对象:略. 



二:事务和构件服务 (Microsoft Transaction server和 COM)

1:Microsoft事务服务器(MTS)是基于构件的事务处理系统,用来满足复杂事务处理。MTS支 持SQL Server和任 

何基于X/open算法的XA协议的数据库(见注释)。 

MTS提供的服务有: 

n 对分布事务的支持。 

n 用于控制实例化和使用对象安全的服务。 

n 过程和线程的自动管理。 

n 对象实例的管理。 

n 数据库连接管理(连接池)。 

在应用程序中可声明相应的构件完成以上服务。

2:MTS和SQL server事务一样,要求原子执行,或整个成功,整个失败。Transaction Server与Microsoft Distributed Transaction Coordinator(MSDTC)交互确认事务满足ACID(原子性Atomicity,一致性Consistency,分离性Isolatation和耐久性Durability)。 

3:MTS和SQL server事务的区别.MTS可以用visual basic ,visual c++ 等封装的MTS构件实现 , Recordset对 

象的addnew方法添加新行。SQL server事务只能由Transact-SQL代码编写,如 (ADO). 

4:Windows DNA(windows distributed internet application architecture):将客户/服务模式开发与web和在一起的战略 . 

文章评论

为什么程序员都是夜猫子
为什么程序员都是夜猫子
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员和编码员之间的区别
程序员和编码员之间的区别
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
10个调试和排错的小建议
10个调试和排错的小建议
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
Java程序员必看电影
Java程序员必看电影
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
 程序员的样子
程序员的样子
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
那些争议最大的编程观点
那些争议最大的编程观点
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
每天工作4小时的程序员
每天工作4小时的程序员
编程语言是女人
编程语言是女人
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
漫画:程序员的工作
漫画:程序员的工作
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
老程序员的下场
老程序员的下场
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员必看的十大电影
程序员必看的十大电影
一个程序员的时间管理
一个程序员的时间管理
程序员的鄙视链
程序员的鄙视链
旅行,写作,编程
旅行,写作,编程
如何成为一名黑客
如何成为一名黑客
程序员都该阅读的书
程序员都该阅读的书
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
我的丈夫是个程序员
我的丈夫是个程序员
总结2014中国互联网十大段子
总结2014中国互联网十大段子
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
中美印日四国程序员比较
中美印日四国程序员比较
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有