!"
#$
!
%
意大利文翻译
!!
"#
&'"(
$#
#"#
)$
意大利文翻译
%
&'()*+,-.+/)0'1+*++*+2'34
5&开始使用
5&5&您的第一个
5&&是什么?
5&&5&67类型、绑定类型以及依赖注入
5&&&建置类型(89 9)
5&&:&
5&&;&名称和 <=
5&&>&拦截器绑定类型
5&:&哪种物件属于 ?
5&:&5&基本的
5&:&&企业级的
5&:&:&7? "
5&:&;&端点()
&@网站应用程序范例
:&参照实做
:&5&? A?范例
:&&转译器范例
1
;&依赖注入(89B)
;&5&绑定标记
;&5&5& 和绑定标记
;&5&&绑定标记的组合
;&5&:&绑定标记和 ? "
;&5&;&预设绑定类型
;&&建置类型
;&&5&启用 9 9
;&&&89 9优先权
;&&:&范例 9 9
;&:&修正相依性不足(?)的问题
;&;&客户端代理服务器(C)
;&>&透过程序性的搜寻来取得一个
;&D&9E、F?、F=和 F7C
;&G&B7物件
>&与 C
>&5&9
>&&内建
>&:&H
>&:&5&H (对话区分)
>&:&&HA(传播)
>&:&:&H ?(逾时)
>&;&?
>&;&5&F%标记
D&7? "
D&5&? "的
D&&注入 ? "
D&:&使用 F%和 ? "
&I++*+JIK+-+LM+./++NJ+9?NJ+*++*,+/J+*OJ
G&拦截器()
G&5&拦截器绑定
G&&实做拦截器
G&:&启用拦截器
G&;&与成员绑定的拦截器
G&>&多重拦截器绑定标记
G&D&拦截器绑定类型的 "
G&G&使用 F
P&装饰器(8)
P&5&8A(类别;表示委派)属性
P&&启用装饰器
&事件(=H)
&5&事件观察器(=HH)
&&事件产生器(=H?)
&:&动态式地注册观察器
&;& 的事件绑定
&>&多重事件绑定(?HA)
&D&交易观察器(#H)
&-++/QR*,+/S./+T'()*+,/JUIV+/++NJ+A9ANJ+
5W&主要探讨模板(9)
5W&5&主要探讨模板的预设 和建置类型
5W&&利用主要探讨模板来限制 与 9
5W&:&主要探讨模板的拦截器绑定
5W&;&主要探讨模板的名称预设
5W&>&标准主要探讨模板
55&专门化(X)
55&5&使用 X
55&&X的优点
5&使用 Y来定义
2
5&5&宣告
5&&宣告
5&:&宣告 成员
5&;&宣告内嵌式()
5&>&使用 "
Z&M++H==-++*+,*[3*0\
5:&H==整合
5:&5&将 H==资源注入 中
5:&&透过一个 H来调用
5:&:&透过讯息导向的 来调用
5:&;&端点
5:&>&封装和建置
5;&延伸
5;&5&A物件
5;&&
5;&:&C界面
5>&接下来的步骤
6&将 整合入其它环境中
6&5&7
6&5&5&搜寻
6&5&&=8H9
6&5&:&F=]F7CF??
6&5&;&#H
6&5&>&#"C
6&5&D&"?
6&5&G&%8
6&5&P&资源载入
6&5&&HB
6&&与 的合同
"9"A ^^^HC89B^&#"
A?^^" "
^^&_"? ]A]? & 9?" ?]?A"
" ^^&
`?a" " ?9 A?"?]
X]9"?H]Y A==?!&
()规格为 H==环境定义了一组简化应用程序开发的服务。针对于现有的 H组件类
型(包含 H以及 =H)提供了增强的生命周期与互动模型( )。为了补充
传统的 H==程序撰写模型(7A A),服务提供了:
状态组件上的生命周期改善,并绑定至明确定义的 contexts、
一个用来进行 dependency injection(依赖注入)的 9(类型安全列举)方式、
透过 event notication(事件通知)功能来进行的互动,以及
一个将 interceptors(拦截器)绑定至组件的较佳方式,以及一个称为 decorator(装饰器)的新型拦截器,它适
用于解决商业上的相关问题。
依赖注入和 C?生命周期管理这两者组合起来可让一个不熟悉的 67的用户无须过问下列问题:
这个物件的生命周期为何?
它一次能同时有几个客户端?
它是否为多执行绪( ?")?
我能从哪里取得呢?
我是否需要明确地将它毁掉呢?
当我没有在直接使用它时,我应该将它的参照保留在哪里呢?
我该如何新增一个 9来使这个对象在建置时的实做可呈多样化?
3
我该如何在其它对象之间共享这个对象?
只会指定它所依赖的 的类型和语意。它无须知道实际的生命周期、具体的实做、执行绪模型,或是
任何它所依赖的 的其它客户端。更好的是,它所依赖的 的具体实做、生命周期和执行绪模型可根据
建置的情况来改变,并且不影响到任何的客户端。
事件、拦截器以及装饰器可增强在此模型中所继承的 loose-coupling(松散结合性):
event notications(事件通知)会 ??和 H? (事件用户),
interceptors(拦截器)可由商业逻辑去 ?技术问题,并且
decorators(装饰器)可将商业问题分为若干部分。
最重要的是,以一种 typesafe的方式来提供了所有的这些功能。从不使用基于字符串的识别符号
()来断定共同协作的对象如何相辅相成。虽然 Y也是选项之一不过却很少被使用到。取而代之,
使用了 H对象模型中可使用的 9A信息并统合了一个称为 binding annotations
(绑定标记)
的新格式,它可将
、它们的相依性、它们的拦截器和装饰器以及它们的事件用户联系在一起。
服务为通用的并且适用于下列位于 H==环境中的组件类型:
所有 H、
所有 =,以及
所有 H。
甚至提供了必要的整合点来让未来 H==规格或是非标准架构所定义的其它类型组件能够利落地与
整合、有效利用 服务,并与任何其它类型的 进行互动。
受到了几个现有的 H E(包括 、b?以及 A)的影响。不过,拥有它自
己独特的特性:比 还要完善的 9、比 A更 ?而没有那么地以 Y为中心,并且针对于网站和
企业级的应用程序上的处理能力比 b?完善。
最重要的是,是一个能与 H==以及可使用崁入式的 =的任何 H=环境整合的 7标准。
内容目录
5&开始使用
5&5&您的第一个
5&&是什么?
5&&5&67类型、绑定类型以及依赖注入
5&&&建置类型(89 9)
5&&:&
5&&;&名称和 <=
5&&>&拦截器绑定类型
5&:&哪种物件属于 ?
5&:&5&基本的
5&:&&企业级的
5&:&:&7? "
5&:&;&端点()
&@网站应用程序范例
:&参照实做
:&5&? A?范例
:&&转译器范例
;&依赖注入(89B)
;&5&绑定标记
;&5&5& 和绑定标记
;&5&&绑定标记的组合
;&5&:&绑定标记和 ? "
4
;&5&;&预设绑定类型
;&&建置类型
;&&5&启用 9 9
;&&&89 9优先权
;&&:&范例 9 9
;&:&修正相依性不足(?)的问题
;&;&客户端代理服务器(C)
;&>&透过程序性的搜寻来取得一个
;&D&9E、F?、F=和 F7C
;&G&B7物件
>&与 C
>&5&9
>&&内建
>&:&H
>&:&5&H (对话区分)
>&:&&HA(传播)
>&:&:&H ?(逾时)
>&;&?
>&;&5&F%标记
D&7? "
D&5&? "的
D&&注入 ? "
D&:&使用 F%和 ? "
章 *+开始使用
5&5&您的第一个
5&&是什么?
5&&5&67类型、绑定类型以及依赖注入
5&&&建置类型(89 9)
5&&:&
5&&;&名称和 <=
5&&>&拦截器绑定类型
5&:&哪种物件属于 ?
5&:&5&基本的
5&:&&企业级的
5&:&:&7? "
5&:&;&端点()
您是否已准备好开始编写您的第一个 了呢?或是您针对于 本身的规格还是存有着一些疑
问呢?不过好消息就是您从以前到现在可能早就已经编写并使用了上百甚至是上千个 了。您可能根
本已经不记得您所编写的第一个 为何了。
*+*+您的第一个
我们能够很明确地告诉您,在绝大部分的情况下,所有含有不接受参数的 ?的 BH都是个
。这包含了所有的 H。另外,所有 =:9的 也都属于 。当
然,您先前所编写的 H和 =皆无法有效利用 规格所定义的新服务,不过您却可将它们全
部作为 来使用 +将它们注入其它 中,透过 Y配置功能来配置它们,甚
至是加入拦截器()与装饰器() +无须变动到您现有的程序代码。
假设我们目前有两个使用于各种应用程序中多年的 H。第一个 会将一个字符串剖析入一列句子中:
cc7cd
ccccceA
5