公司有在底层机构中集成新技术的需要同时还有维护现有的基于老技术的系统的需要平衡这两个需要对于高级结构设计师来说是一个最大的挑战随平台的推出微软不但使这种工作更加吃香而且明显又带来了更多的挑战但是如果有充足的计划NET结构设计师就能保证他们的开发团队创建高质量的可支持的以及可维护的应用程序方法就是给出一个使用NET平台先进性的创建或升级的标准和过程的可靠建议
对于那些打算升级或者创造适应NET的标准的结构设计师来说有两个主要问题需要考虑一是如何改变开发标准二是如何根据该平台的新的RAD能力以及开发部署环境的要求来修改开发过程
开发标准
新开发平台的推出要求我们重新评价现有的开发标准但是NET平台为新的令人激动地应用程序类型带来了如此多的机会以至于你需要对你的标准进行根本的改变只有一些地方只需要较小的变动例如命名标准和惯例以及文档标准需要做的改变就不多但是所有的使用NET Framework的新应用开发都要有效地将应用程序视为松散的耦合组件和精心设计的接口的集合体虽然很多C++开发人员不会发现这类思考过程困难但是多数VBNET开发人员却会为正确地开发类而要求的规范和知识将不得不来自NET结构设计师而不是来自VB开发人员因为他们只有使用类而没有设计类的经验开发一个高效的类设计集成以及命名策略是使用NET开发软件走向成功的第一步
另外新的NET安全特征强迫系统结构设计师重新检查先前的有关安全管理议题的假设像以前的COM系统一样NET可以使用一个单独的安全凭证集合籍此不但可控制磁盘一般文件和可执行文件的访问还可以控制数据库表和存储过程(在SQL Server中使用集成安全性NET倾向使用的方法)的访问但是NET为使用代码访问安全来访问系统资源的代码增加了请求或者需求权限的能力事实上NET结构设计师必须考虑如何汇总管理和应用域因为这些东西要求他们必须重新评价他们当前所有的有关应用程序内的以及应用程序间的管理信任边界的假设
另外一个结构设计师必须要考虑的主要标准区域是数据访问NET应用程序使用ADONET访问数据因此它尽可能的工作在脱机以及无状态的自然情况下而基于ADO的COM应用程序需要高度联机有状态的环境使用消极锁定的处理并发问题的开发建议在NET环境里不能简单高效地实现因为它更趋向于使用积极并发结构设计师需要为处理贯穿于整个企业的并发问题建立一个标准
开发过程
更新之后的新标准并不足以保证在采用NET平台时能够成功平台提供的RAD功能要求结构设计师重新考虑软件设计过程以及整个应用程序生命周期管理问题当你的开发人员使用新的NET Framework特征比如说DataSetsDataGrids以及ASPNET设计环境来创建健壮可部署的原型时你就要重新检查你的软件设计过程使开发人员使用像极端程序设计法之类的新的方法学以非常快的速度(相比老的开发工具而言)来创建软件系统的特征丰富的新迭代发布版本有了维护前面讨论的标准的正确指导我们就能创建更快适应时间改变类型更加丰富的应用程序只要结构设计师在向新的设计过程转变的足够快
另外我已经看到人们对源代码管理和构建基于微软技术的系统的巨大兴趣曾经被遗忘的产品Visual SourceSafe又焕发出生机在VSNET工具集投入了成千万美元的公司很不情愿地在第三方源代码管理系统上投入更多的钱很多使用COM技术的公司忽视了共享源代码的需求因为他们遵从的是每个项目作为一个开发(onedeveloperperproject)的规则但是由于在NET平台开发的组件具有高度可复用的本质所以很多的应用程序的开发者变成了那些创建可复用组件或者子系统的团队而不再是那些开发单独系统的个体这些环境就需要高效的源代码管理源代码系统的使用是整个开发构建和测试过程的一个不可分割的一部分
继续向前
NET Framework是微软在开发工具上的一个主要的策略转变它需要开发人员和系统结构设计师共同回顾检查开发过程的细节这个过程的结果是一个每个人必须遵守的结构设计标准