详论在.NET中定义结构设计标准

开发 后端
随着.net平台的推出,微软不但使这种工作更加吃香,而且明显又带来了更多的挑战。本文将介绍在.NET中定义结构设计标准问题。

随着.net平台的推出,微软不但使这种工作更加吃香,而且明显又带来了更多的挑战。但是如果有充足的计划,.NET结构设计师就能保证他们的开发团队创建高质量的、可支持的以及可维护的应用程序,方法就是给出一个使用.NET平台先进性的创建或升级的标准和过程的可靠建议。

对于那些打算升级或者创造适应.NET的标准的结构设计师来说,有两个主要问题需要考虑。一是如何改变开发标准,二是如何根据该平台的新的RAD能力以及开发部署环境的要求来修改开发过程。

开发标准

新开发平台的推出要求我们重新评价现有的开发标准。但是.NET平台为新的、令人激动地应用程序类型带来了如此多的机会,以至于你需要对你的标准进行根本的改变。只有一些地方只需要较小的变动,例如命名标准和惯例以及文档标准需要做的改变就不多。但是所有的使用.NET Framework的新应用开发都要有效地将应用程序视为松散的耦合组件和精心设计的接口的集合体。虽然很多C++开发人员不会发现这类思考过程困难,但是多数VB.NET开发人员却会。为正确地开发类而要求的规范和知识将不得不来自.NET结构设计师,而不是来自VB开发人员,因为他们只有使用类而没有设计类的经验。开发一个高效的类设计、集成以及命名策略是使用.NET开发软件走向成功的第一步。

另外,新的.NET安全特征强迫系统结构设计师重新检查先前的有关安全管理议题的假设。像以前的COM系统一样,.NET可以使用一个单独的安全凭证集合,籍此不但可控制磁盘一般文件和可执行文件的访问,还可以控制数据库表和存储过程(在SQL Server中使用集成安全性--.NET倾向使用的方法)的访问。但是.NET为使用代码访问安全来访问系统资源的代码增加了请求或者需求权限的能力。事实上,.NET结构设计师必须考虑如何汇总管理和应用域,因为这些东西要求他们必须重新评价他们当前所有的有关应用程序内的以及应用程序间的管理信任边界的假设。

另外一个结构设计师必须要考虑的主要标准区域是数据访问。.NET应用程序使用ADO.NET访问数据,因此它尽可能的工作在脱机以及无状态的自然情况下,而基于ADO的COM应用程序需要高度联机、有状态的环境。使用消极锁定的处理并发问题的开发建议在.NET环境里不能简单高效地实现,因为它更趋向于使用积极并发。结构设计师需要为处理贯穿于整个企业的并发问题建立一个标准。

开发过程

更新之后的新标准并不足以保证在采用.NET平台时能够成功。平台提供的RAD功能要求结构设计师重新考虑软件设计过程以及整个应用程序生命周期管理问题。当你的开发人员使用新的.NET Framework特征,比如说DataSets、DataGrids以及ASP.NET设计环境来创建健壮、可部署的原型时,你就要重新检查你的软件设计过程。VS.net使开发人员使用像极端程序设计法之类的新的方法学,以非常快的速度(相比老的开发工具而言)来创建软件系统的特征丰富的新迭代发布版本。有了维护前面讨论的标准的正确指导,我们就能创建更快适应时间改变,类型更加丰富的应用程序----只要结构设计师在向新的设计过程转变的足够快。

另外我已经看到人们对源代码管理和构建基于微软技术的系统的巨大兴趣。曾经被遗忘的产品,Visual SourceSafe,又焕发出生机。在VS.NET工具集投入了成千万美元的公司很不情愿地在第三方源代码管理系统上投入更多的钱。很多使用COM技术的公司忽视了共享源代码的需求,因为他们遵从的是每个项目作为一个开发(one-developer-per-project)的规则。但是由于在.NET平台开发的组件具有高度可复用的本质,所以很多的应用程序的开发者变成了那些创建可复用组件或者子系统的团队,而不再是那些开发单独系统的个体。这些环境就需要高效的源代码管理,源代码系统的使用是整个开发、构建和测试过程的一个不可分割的一部分。

继续向前

.NET Framework是微软在开发工具上的一个主要的策略转变。它需要开发人员和系统结构设计师共同回顾检查开发过程的细节。这个过程的结果是一个每个人必须遵守的结构设计标准。

【编辑推荐】

【责任编辑:彭凡 TEL:(010)68476606】

责任编辑:彭凡 来源: itpub
相关推荐

2009-07-28 09:42:22

.NET数据访问层

2023-03-21 08:41:09

结构设计数据库高性能

2010-03-25 15:14:36

机房综合布线

2009-08-03 16:20:55

ASP.NET编程规范

2023-05-31 08:19:00

体系结构设计

2011-05-19 15:25:20

数据库结构

2010-05-06 14:30:29

流媒体服务器负载均衡

2018-11-27 16:21:36

操作系统Fuchsia谷歌

2010-05-26 14:00:46

Mobile IPv6

2022-05-04 23:08:36

标准Go应用程序

2009-11-03 10:12:35

2022-06-15 15:18:50

深度学习图像分割

2014-11-03 15:37:21

综合布线

2020-05-29 09:41:26

微服务数据工具

2010-09-09 09:46:04

ZigBee协议栈

2017-07-07 08:54:31

Node.js剪贴板管理器开源网络

2017-05-17 14:51:31

DNS架构负载均衡

2017-07-10 10:53:08

IT技术周刊

2009-06-02 18:01:40

戴尔服务器机架

2010-04-13 17:35:50

Oracle数据库性能
点赞
收藏

51CTO技术栈公众号