软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件开发专栏>>.net>>正文
对DotNet分布式应用搭建的考虑
文章出处:新浪博客 作者:人月神话 发布时间:2006-10-20

设计前的考虑和准备工作
 
1 对业务需求的理解重要性远远胜于对技术架构的理解

2 架构包含技术架构和业务架构

3 没有万能和通用的架构,只有符合自身业务需求的架构

4 架构本身的复杂性要截至在架构设计阶段

5 扩展性和健壮性是架构设计要考虑的重要内容.

6 第三方工具,开源组件,EnterpriseLib都可借鉴,但绝对不是照单全收
 

架构设计前需求准备的相关知识
 
1 对业务系统中业务的宏观和整体理解.

2 对DotNet分布式技术的相关知识储备

3 对Rational统一过程4+1视图的理解

4 对架构,组件,充用,设计模式,第三方工具组件的学习和借鉴.


业务层面对架构的影响
 
1 能否画出全局的用例视图,用例驱动体现在哪里?到哪个粒度

2 逻辑视图是面向对象设计之本

3 逻辑视图在架构阶段要做到哪个层次系统/子系统/模块/单元

4 什么在决定部署视图?

5 实施视图和逻辑视图的关系,实施视图作用


技术层面对架构的影响
 
1 技术层面重点体现在了实施视图和部署视图里面.

2 技术层面重点关注的是非功能性需求.

3 异常/日志/安全/性能/队列/缓存/离线/

4 系统管理/工作流/公用类/公用组件

5 技术架构的缺陷泄漏对应用系统是致命打击.


分布式应用如何构建
 
1 现有的分布式技术Remoting // Web Service

2 如何选择分布式技术:业务需求,性能,开发难易工作量

3 智能客户端与分布式应用的关系

4 出现前台展示既有WinUI又有WebUI的时候的统一考虑

5 选择Remoting+IIS Hosting与Web Service的优缺点对比

6 要尽早出原型对架构进行验证.


对于系统的异常和日志需求
 
1 首先理解清楚业务或系统本身对异常和日志的需求

2 异常和日志一定要配合使用,一些不适合抛给用户的异常要通过后台日志记录下来

3 业务对日志有需求,如登录日志,操作日志

4 完善的异常日志功能方便后期系统的维护,出现问题后的跟踪和分析

5 微软的AppBlock和Log4Net都可以借鉴,但要分析利弊。
 

对于系统的安全性的需求和考虑
 
1 Remoting的安全性问题,远程暴露的服务接口是否安全

2 系统的登录和验证机制

3 数据传输的安全性问题

4 存储在数据库中的业务数据的安全性

5 部署到客户端的程序集的安全性


对于系统缓存的考虑
 
1 要好了系统性能大幅度提升,用不好比不用还糟糕

2 对于客户端缓存和服务器端缓存的选择问题

3 对于缓存引起的同步和并发问题的考虑和解决

4 扩展性和健壮性是设计时要考虑的重要内容


业务实体的选择问题
 
1 没有使用O/R Mapping的时候千万别搞自定义类做实体

2 DataSet (虽对性能有影响,但开发简洁性和效率提升)

3 类型化和非类型化的优缺点一定要搞的很清楚.

4 再次强调-业务实体和数据库表间无一一对应关系.

5 与OO的一些区别:对象和对象操作分离开了?利弊在哪里?


站内搜索
相关文章
◎Web开发经验几则
◎ASP.NET 2.0的会员、角色及配置问题的探讨
◎认识ASP.NET配置文件Web.config
◎Microsoft .NET 中的基类继承
◎在.NET环境中使用单元测试工具NUnit
◎ADO.NET 2.0中的DataSet和DataTable
◎C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第三部分
◎C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第二部分
◎C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第一部分
◎在你的代码中寻找安全缺陷的专家技巧
◎Visual C#的SQL Server编程
◎.Net 常用加密算法类
◎C#做的ASP.NET登錄篇
◎汇总c#.net常用函数和方法集
◎C#文档自动化
◎五子棋的核心算法
◎Web应用的UML建模与.NET框架开发
◎.NET 部署指南(1)
◎.NET 部署指南(2)
◎.NET应用程序开发标准化
◎DNN模块开发,如何写dnn文件
◎.Net 下的Wondows窗体常用项目
◎避免6个常见的开发错误
◎C#,深入浅出全接触
热门文章
◎C#做的ASP.NET登錄篇
◎在.NET环境中使用单元测试工具NUnit
◎ADO.NET 2.0中的DataSet和DataTable
◎.NET 部署指南(1)
◎Visual C#的SQL Server编程
◎.Net 常用加密算法类
◎.NET 部署指南(2)
◎C#,深入浅出全接触
◎认识ASP.NET配置文件Web.config
◎C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第三部分
◎汇总c#.net常用函数和方法集
◎.Net 下的Wondows窗体常用项目
◎C#文档自动化
◎Microsoft .NET 中的基类继承
◎C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第一部分
◎五子棋的核心算法
◎.NET应用程序开发标准化
◎在你的代码中寻找安全缺陷的专家技巧
◎DNN模块开发,如何写dnn文件
◎C#:昨天,今天和明天:和 Anders Hejlsberg 座谈,第二部分
◎Web开发经验几则
◎避免6个常见的开发错误
◎ASP.NET 2.0的会员、角色及配置问题的探讨
◎Web应用的UML建模与.NET框架开发
◎VS2005中使用强类型DataSet简化开发

Google提供的广告