博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
prism4.0——chapter1: 简介
阅读量:5154 次
发布时间:2019-06-13

本文共 3705 字,大约阅读时间需要 12 分钟。

Prism 4 Documentation:  

  Prism为帮助你更简单的设计和构建丰富、灵活和易于维护的WPF桌面应用程序,基于Silverlight的富因特网应用程序(RIA),和windows Phone 7应用程序提供了引导。使用包含重要构建设计原则的设计模式,诸如逻辑关系的分离和低耦合,Prism使用可以独立开发的低耦合组件帮助你设计和构建应用程序,除此之外,这些组件也可以很容易无缝的被集成到整个应用程序中。这些类型的应用程序被用在综合的应用程序中。

  Note:

  Prism是一个代号名字,它正式的名字是WPF和Silverlight综合应用软件向导。根据顾客的要求,为了简洁明了,这个向导现在简写作Prism。

  Prism是为软件开发者创建WPF或Silverlight应用程序而开发的,它的显著特征是多屏幕,丰富用户交互和数据可视化,以及将界面和业务逻辑具体化。这些应用通常和多个后端系统和服务互动,使用一个分成构架,可能通过多层进行物理上的部署。大家期望的是,这些应用程序能够演变成为对新的需求和业务条件具有终生意义的产品。简而言之,这些应用可以持续使用和可以改变。不需要具备这些特性的程序没有必要使用Prism。

  Prism包括引用安装使用,快速启动,重复使用的代码库(Prism库),和可扩展文档。这一版本的Prism针对Microsoft .NET Framework 4.0和Silverlight 4,也包括一些新的关于MVVM模式的引导、导航和管理扩展框架(MEF)。由于Prism是运行在.NET Framework 4.0(包含WPF)和Silverlight 4之上的,熟悉这些技术对于测试和使用Prism时很有用的。

  需要注意的是,虽然Prism并不难学,开发人员必须做好准备并且乐意接受对于他们来说新的模式和实践。管理协议和委托是至关重要的,并且项目的底线必须考虑到时间的投入,预先学习这些模式和实践。

为什么使用Prism?  

  设计和创建灵活、易于维护的富WPF或Silverlight客户端应用程序具有挑战性。这一节描述了当建立WPF或Silverlight客户端应用时可能面临的共同挑战,并且描述了Prism如何帮助你解决这些问题。

客户端应用开发挑战

通常,客户端应用程序开发员面临相当多挑战。应用程序需要时不时的改变。新的业务条件和挑战可能会出现,新的技术可被利用,甚至,在开发周期内不间断的顾客反馈可能会严重影响应用程序的需求。因此,创建灵活的,容易改进或是随时可以扩展的应用程序非常重要。很难实现设计这种灵活类型的应用程序。它需要一个构架,这个构架允许应用程序的个别部分进行独立开发和测试,也可以在不影响其他应用前提下孤立的被修改或更新。

 

大部分企业应用程序相当复杂,它们需要不止一个开发员,甚至可能是一个大型开发团队,包括用户界面(UI)设计师和除了开发人员之外的定位员。确定怎样设计应用才能让多个开发员或是子团队在不同的应用部分独立有效工作,确保当整个应用一体化时每个部分能够实现无缝连接,二者都是具有重要意义且富有挑战性的事情。

 

在一个庞大的系统中设计和构造应用可能会导致一个应用非常困难或不能进行维护。在这种情况下,"独块巨石”是指一个各部分非常紧密耦合,在其中没有明确分界的应用。通常,用这种方法设计和构造的应用遭遇很多问题使得开发人员很难做。这样很难添加新的特性到系统中或是替代已有的特性,由于不能中断系统中的其他部分,就很难解决调试中的错误,测试和部署也很困难。并且,它影响了开发人员和设计人员在一起高效工作的可能。

综合方法

针对这些挑战一个行之有效的修正方法就是将应用分成一系列不相关、低耦合、独立的部分,这样可以很容易的整合成一个应用“shell”来形成一个条理分明的解决办法。用这种方法设计和构建的应用就是通常所说的可分解应用。

可分解的应用提供了许多好处,包括以下几点:

  • 它们允许模块独立开发、测试和不同的人或是子团队来进行部署;它们可以被很容易的进行修改或是扩展新的功能,从而允许应用被更容易的扩展和维护。注意到,甚至一个人的项目使用这种可分解的方法也能在测试和维护上体检到好处。
  • 它们提供了一个由用户界面组件组成的通用shell,这些组件相互耦合松散来自不同的模块。这就降低了多个开发者添加新的功能到用户界面的争论,并且它提升了通用的外观。
  • 它们促进了重复利用,在应用同一水平层次容量的关系上有了明确的分界线,诸如登陆和身份的验证,在同一垂直容量关系上也是如此,像应用中具体的业务功能。这也使得你能够更容易的管理应用组件之间的依赖性和相互影响的问题。
  • 它们帮助维护了各个角色的分工,通过让不同的个人或子团队根据它们关注的方向和特长来聚焦于一个具体的任务或是应用功能的一部分。特别的是,它在用户界面和应用的业务逻辑上提供了一个清晰的界限,这意味着一个UI设计师可以集中精力来开创界面增强用户体验。        

可分离应用高度适合于一系列客户端应用。例如,一个可分离应用的目的是为了创造富客户端体验,这与系统后台完全分离。下面的例证展示了一个此类型的可分离应用的例子。

多个终端系统的可分离应用

 

在这种类型的应用中,展现给用户了一个丰富灵活的用户体验,这种用户体验面向任务而非跨越了多个后台系统、服务和数据存储的功能,这个应用通过一个或多个专用的模块来展示。应用逻辑层和用户界面层清晰的界限使得应用提供了跨所有组成模块的一个有区别的相容外观。

 

此外,若在用户界面中有独立组件,大量的组件之间相互成为一个整体,这通常需要分开的团队来维护,这种情况下,可分离应用是很有效的。下面的例证展示了一个这种应用的屏幕射击。每个区域都高亮显示独立的组件,所有的组件组成了用户界面。

可分离应用之股市交易参考

 

在这个实例中,可分离应用使得用户界面可以动态组成。这实现了一个灵活的用户界面。例如,在运行时它可以允许新的功能动态添加到应用中,使得可以实现富客户终端的定制和扩展。

挑战不是通过Prism处理的

尽管Prism帮助你实现了很多在建立WPF或Silverlight应用时可能面临的挑战,还有很多其他的挑战你可能会遇到,这取决于你的应用方案和需求。例如,Prism不能直接处理如下几个问题:

  • 偶尔的连通和数据同步
  • 服务和信息传送基础的设计
  • 身份的验证和授权
  • 应用性能
  • 用用版本管理
  • 过失操作和错误限度

启动Prism

前提

Prism要求你有WPF或Silverlight动手实践的能力。这里面有几个Prism大量使用的非常重要的概念,你需要熟悉它们。包含以下几个:

  • XAML(可扩展标记语言)这种语言说明了定义,用WPF和Silverlight应用初始化用户界面。
  • 数据绑定。这就是用户界面中的元素在WPF和Silverlight中怎样与组件和数据相关联。
  • 资源。这是在WPF和Silverlight中的样式、数据模板和控制模板怎样被创建和管理。
  • 命令。用户要与控件相关联应该如何表示和输入。
  • 用户控件。提供客户性能和客户外观的部分。
  • 依赖属性。公共语言运行时属性系统在设置属性和控制数据绑定的支持、路由命令和事件上的扩展。
  • 行为。行为是将能够容易的运用到用户界面中的控件封装到相互关联的功能中的目标。

安装Prism

这一节描述了如何安装Prism。它包含了如下三步:

1、安装系统需求。

2、提取Prism源代码,二进制数和文件。

3、注册Prism二进制数。

第一步:安装系统需求

Prism运行在Microsoft WIN7,WIN Vista或是WIN Server 2008操作系统上。这个版本在WIN xp和windows Server 2003上面测试时失败了,但是它没有被彻底全面的测试。建立WPF 应用使用这个导航时需要.NET Framework 4.0,Silverlight应用需要Silverlight 4.

 

在你使用Prism库之前,下面的必须要安装:

  • Microsoft .NET Framework 4.0 (安装 Visual Studio 2010)
  • Microsoft Visual Studio 2010 Professional, Premium, or Ultimate editions

  NOTE:

  Visual Studio 2010迅速版本可以使用Prism库来开发Prism应用。

  如果你要开发Silverlight应用,下面的必须要安装:

  •   (Silverlight开发所需要的;包括Silverlight开发运行时)

    NOTE:

  尽管对于VS2010来说不需要Silverlight工具,建议所有的WPF和Silverlight开发者都下载和使用最近版本的VS2010的Silverlight工具。

 

 

 

转载于:https://www.cnblogs.com/blancpure/archive/2012/06/28/2567334.html

你可能感兴趣的文章
(插播)网络爬虫,抓取你想要得东西。
查看>>
Calendar 中getActualMaximumd 功能
查看>>
vs2005制作安装包
查看>>
R标红Cannot resolve symbol’R的处理
查看>>
怎样将本地web项目部署到腾讯云服务器上?
查看>>
mkdir创建目录
查看>>
JavaScript基础篇
查看>>
色块图
查看>>
ganglia-gmond.conf配置文件
查看>>
【bzoj2819】Nim DFS序+树状数组+倍增LCA
查看>>
【bzoj1899】[Zjoi2004]Lunch 午餐 dp
查看>>
第7章 数组实验
查看>>
[转]Running JavaScript in an iOS application with JavaScriptCore
查看>>
SQL游标写入时触发
查看>>
两个应用的跳转
查看>>
Centos7,Docker-配置自动化环境镜像(python3.7+selenium 3.11+firefox 62+geckodriver 0.21)...
查看>>
篮球赛总结
查看>>
c#获取本机ip地址|获取本机的本地上网IP地址
查看>>
jmeter(二十)JMeter中返回Json数据的处理方法
查看>>
redis cluster 实践总结
查看>>