博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Prism4文档翻译(第一章 第五部分) 转载bluesky234
阅读量:4596 次
发布时间:2019-06-09

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

第一章到此为止已经全部结束了,接下来按照计划就要翻译 附录H 的第一个示例。。。。。。感觉Prism会很好用的,真的。

4. 使用Prism

现在你已经见到了Prism所提供的大部份功能和设计方式,现在就应该了解使用Prism创建新的应用程序到底有多方便。这一节讲述的如何创建一个基本的Prism应用程序。通过这些基本内容你可以根据需求,扩展Prism提供的功能和设计模式。

【注意】:Prism不仅仅可以让你方便的创建WPF和Silverlight平台上的复杂应用程序,也可以使用到已有程序上。

一个典型的Prism应用程序应该包含一个Shell项目和若干个模块项目。下图展示了开发一个复杂Prism项目所需要进行的活动。

一个典型的Prism应用程序利用前文所述的功能和设计模式完全体现松耦合和关注分离的设计模式所带来的好处。但是在这个例子只描述了一个包含Shell和一个视图的基本Prism应用程序。

【注意】:Prism库的引用

Prism应用程序都需要引用Prism库文件。Prism的安装包中提供了注册文件,注册后可以直接在Visual Studio的“添加引用”对话框中添加所需要的引用 。那果选择不注册,那么就需要手动添加引用。当然也可以将Prism添加到你的项目中,这样,其它项目只要引用这个项目就可以了。之后的升级可以会添加一些向导以便于逐步使用Prism类型,就好像现在Prism已经支持签名一样。

5、定义Shell

应用程序的Shell定义了程序的基本布局。在Shell中定义了多个可以放置视图的区域。视图,就像Shell一样,可以定义多个区域将内容放到其中,如下图所示。Shell通常设置了整个应用程序的样式。

6、定义Bootstrapper

启动精灵是应用程序和服务以及MEF框架和Unity以及Prism库的连接剂。每个应用程序都有独立的启动精灵,它们都继承于UnityBootstrapperMefBootstrapper,如下图所示。你需要使用最合适的模块列表。每个应用程序最少都应该包含一个模块列表和一个Shell。

通常情况下,启动精灵将启动日志记录到.NET Framework提供的Trace类中。大部分应用程序需要实现自己的日志系统,那么也可以将这系统嵌入到启动精灵中。

通常情况下,UnityBootstrapperMefBootstrapper是一种Prism服务,你可以禁用它或者使用自己的启动精灵。

7、创建模块

模块提供了应用程序中一部分功能的视图和服务。模块经常是分在独立的程序集中,并且由不同的团队开发的。每个模块都是由一个继承IModule接口的类来启动。在初始化过程中,这些模块将注册自己的视图和服务并且将其中的一部分视图添加到Shell中。根据你的需要,你将设置这些模块的属性和依赖关系。

8、为Shell添加Model View

模块利用Shell的区域来添加内容。在初始化过程中,模块使用RegionManger来定位将哪些视图放置到Shell中或者在目标区域中注册多个视图类型。RegionManger负责跟踪整个应用程序中的区域变化,它是一个由启动精灵初始化的核心服务。

接下来的章节将详细讲解Prism的关键概念。

转载于:https://www.cnblogs.com/nnkook/articles/2282703.html

你可能感兴趣的文章
【WEB前端经验之谈】时间一年半,或沉淀、或从零开始。
查看>>
优云软件助阵GOPS·2017全球运维大会北京站
查看>>
linux 装mysql的方法和步骤
查看>>
poj3667(线段树区间合并&区间查询)
查看>>
51nod1241(连续上升子序列)
查看>>
SqlSerch 查找不到数据
查看>>
集合相关概念
查看>>
Memcache 统计分析!
查看>>
(Python第四天)字符串
查看>>
个人介绍
查看>>
使用python动态特性时,让pycharm自动补全
查看>>
关于R软件的安装
查看>>
MySQL数据库免安装版配置
查看>>
你必知必会的SQL面试题
查看>>
html5 Canvas绘制时钟以及绘制运动的圆
查看>>
Unity3D热更新之LuaFramework篇[05]--Lua脚本调用c#以及如何在Lua中使用Dotween
查看>>
JavaScript空判断
查看>>
洛谷 P1439 【模板】最长公共子序列(DP,LIS?)
查看>>
python timeit
查看>>
Wireless Network 并查集
查看>>