Friday, November 18, 2011

prism

http://compositewpf.codeplex.com/

1.

Prism简介 

这个示例,主要是讲类似MEF技术的导入导出方法,这是动态控制,而MEF倾向静态控制.

2.

它的下一篇:Prism之Bootstrapper

主要是讲框架切入点Bootstrapper的几个操作方法.

1. 创建Logger:

2. 创建并配置ModuleCatalog

3. 创建并配置依赖注入容器

4. 配置默认的Region适配器映射

5. 配置默认的Region 行为(Behavior)

6. 注册框架异常类型

7. 创建并初始化Shell

8. 初始化Modules

3.

它的下一篇 Prism之Module:

可参考 Prism研究(for WPF & Silverlight)5.Module研究

1.Module: Module是一些逻辑上相关的程序集或者资源文件的集合,在Silverlight程序中通常以xap文件为单位存在。而每一个Module中都需要有一个负责进行初始化工作以及与系统进行集成的角色,它需要实现IModule接口。

2.ModuleInfo: 在创建了一个Module之后,需要通知Prism这个Module的存在,也就是要注册一下。在Prism中,Module是以ModuleInfo的形式存在的。

3.ModuleCatalog: ModuleCatalog实现了IModuleCatalog接口,它是ModuleInfo的容器,保存着系统中所有Module的信息.

4.ModuleManager: ModuleManager实现了IModuleManager接口。顾名思义就是管理Module的类。

然后搜索到:[.NET] CLR 4.0 (Code Contract, MEF, DLR & Parallel Extensions) : http://julien.dollon.net/post/NET-CLR-40-(Code-Contract-MEF-DLR-Parallel-Extensions).aspx

4.

Prism之Region(1)

5.

Prism之Region(2)

6.

Prism之使用EventAggregation进行模块间通信

本文要介绍的事件聚合(Event Aggregation)。

事件聚合的过程有点像收听广播,首先要有个固定的频率,然后内容就会在这个频率上广播出去,至于有没有人收听,广播电台是不知道的,它只是把内容播送了出去。而其他的人想听广播也不用跑到广播电台,只要知道频率,收听这个频率就可以了。联系广播电台和听众的就是这个频率。

 

微软下载prism 4.0:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=4922

MSDN上的D — Prism Library for Windows Phone 7 : http://msdn.microsoft.com/zh-cn/library/hh308010.aspx

 

今天访问http://silverlight.cn/,看见右边有广州名企招silverlight,有要求会prism,就去找了下这个东西,看下明下可以不可以去下载它来看一下..

好像是一个框架,主要解决耦合等合作开发的问题.

 

2011-11-28

这里,里面的Prism 4 Readme,后来发现在本地安装的prism4里有Prism4.chm,打开就有教程

Chapter 2: Initializing Prism Applications

2.1What Is a Bootstrapper?

介绍Bootstrapper的过程,它有许多虚函数.你只需creating and initializing the shell.

2.2 Dependency Injection

mef通过UnityBootstrapper 或 MefBootstrapper 来管理库.

2.3 Creating the Shell

在WPF中通过在App.xaml中使用URI加载主窗口,而Silverlight在App.xaml中使用RootVisual属性.

在使用Prism的应用程序中bootstrapper的职责是创建shell或主窗口,因为shell依赖的Region Manager,需要在shell被显示前所注册.

2.4 Key Decisions(关键决策)

在使用prism时,需要思考:

  • 思考是否需要使用MEF,Unity或其它的库管理容器,这可以决定你所选择的bootstrapper.
  • 思考应用程序特定的服务,它将注册进容器中.
  • 思考内置的日志管理满足或需要另制订日志服务.
  • 思考如果发现模块,如显示代码定义,通过目录扫描的模块代码属性,配置,或xaml等.
  • 更多的细节

2.5 Core Scenarios(核心方案)

创建启动顺序,包括,创建和自定义bootstrapper它来创建shell,配置库管理容器,注册应用层服务,并指定加载和初始化模块的方式.

2.6 Creating a Bootstrapper for Your Application

No comments: