Prism4文档翻译(第一章 第三部分)
羞愧啊,居然好多字都不认识,好多东西都没认全。。。人间之悲剧就是看完这一些后我认为我可以重新回去把软件工程的书重头到尾重新看一遍了。咳,大学白读了啊,对不起老师,对不起党,对不起父母,对不起自己啊!!!不过,感觉原版写的确实非常好啊,对我等小白来说,还是非常实分之有用的。本来我不喜欢看这种东西的人居然翻译了一次后,居然感觉他居然说的不是空话。。。纳尼,微软说的不是空话?那难道我以前做的东西都是白做啦。。掩面泪奔中,争取晚上更新“第四部分,Prism的关键概念”!咳,难得我又能把这东西当小说看了,怀念ING。咳,下面有错别字就效应着看吧,反正我已经说都不会话了。。
您可以在以下位置找到原文:
http://compositewpf.codeplex.com/releases/view/55580
3. Prism概述
Prism设计目标
Prism是用来帮助你设计和开发一个丰富,灵活,易于维护的WPF和Silverlight应用程序。Prism库文件实现了一系列重要的设计模式和构架原则,比如关注点分离和松耦合。使用这些Prism提供的设计模式和能力,你可以中设计和实现多个使用各个关联度很低但是却可以轻松整合到一起的组件,并且使用它们组合成为一个系统。
Prism的核心设计思想就是关注点分离和脱耦。它使的Prism拥有了以下特点:
l 可重用,Prism通过每个组件和服务都可以独立开发,测试并且组合到一个或多个系统中来保证可重用性。通过已经过单元测试的组件可以轻松的通过依赖注入组合到应用程序中,在这一点上可重用性在组件层被完美体现。在应用程序角度上,通过模块封装也可以达到在应用程序层上的复用。
l 扩展性,Prism可以帮助应用程序通过管理组件依赖进行扩展,能够简单的在运行时集成或更换组件。提供将应用程序分解成若干独立模块进行升级和使用。Prism库中的很多组件都可以独立被扩展或者代替。
l 灵活性,Prism创建的应用程序灵活性表现在更轻松的添加和集成新功能。Prism也可以让WPF和Silverlight使用普通的服务或者组件进行开发。允许应用程序以恰当的方法部署和消耗。也可以让应用程序在不同的角色和配置下拥有不同的体验。
l 团队开发,Prism对团队开发的支持体现在不同的团队可以独立的开发甚至是部署同一系统中的不同模块。Prism帮助最小化跨团队开发的依赖性,让每个团队都可以专注于不同的功能区域(比如UI设计,业务逻辑实现和基础代码开发),或者在不同的业务层区域中的开发(如配置,销售,仓库和物流)。
l 质量,Prism通过保证开发团队可以对应用程序的每个模块进行完全的测试来保证应用程序的质量。(In addition, by providing fully tested implementations of common design patterns, and the guidance needed to fully leverage them, Prism allows development teams to focus on their application requirements instead of implementing and testing infrastructure code。另外,通过促使常用设计模式的测试方法的改变,Prism让开发团队更加注重于项目的需求而不是测试基础代码。)。
就是这些重要的特性让你根据实际应用程序的需求或者场景分开或者结合使用Prism中的功能或者设计模式。Prism的设计也会让你可以在不改变应用程序主体框架的情况下单独的为某一模块使用一些功能或者设计模式以此来增加程序的适应性。
最后,因为测试是应用程序开发过程中最重要的活动并且贯穿在整个开发过程中,Prism对多种软件测试手段都提供支持,由此来保证你开发的程序可以轻松的测试。Prism本身开发就对测试重视,它经过了多种严格的测试指标并且使它通过微软安全标准,使它可以在多种操作系统,多种Visual Studio版本,多种语言环境下正常运行。在每次签入后都会自动运行单元测试。另外,Prism库也经过了如下的测试。
(泽注:羞愧的我居然没有办法完全认准以下所有的测试,有写错的请指正。)
测试 |
描述 |
验收测试 |
通过用户场景来测试程序功能,测试可以人工或者自动完成 |
Application Building Exercises |
Team members build applications consuming the deliverable software. |
黑盒测试 |
在用户角度进行的人工测试 |
跨浏览器测试 |
所有自动测试都有在多个不同的浏览器中运行。 |
跨平台测试 |
所有自动测试都有在多个不同的平台中运行。 |
全球性测试 |
所有自动测试都有在多个不同的语种中运行。 |
性能测试 |
测量系统的响应速度 |
安全性检查 |
所有模块都进行微软内部的安全检查,识别攻击手段,并且使用安全分析工具运行代码。 |
压力测试 |
表示系统在极限负载下的性能,特别关注类似的内存溢出或者线程问题。 |
白盒测试 |
全面的源代码分析和验证代码质量,如何表现软件体系结构 |
Prism也包含了如下所示的UI自动测试,你可以使用这些测试作为参考资料,或者当你部署一个自定义的Prism时,可以用这些测试来保证Prism的正常运行。
Test |
Description |
UI自动测试 |
局部的验收测试;以用户的意愿测试程序。 |
单元测试 |
验证每一个类的实现。 |