|
|
简单的说,PureMVC源于MVC模式,主要就是Model、View、Controller这三层次。但在PureMVC中上述三个都被封装成了三个核心层,并通过单例模式提供给应用程序。开发人员7 [$ F! W) a( k, T- h
不需要直接使用这三个核心层。PureMVC为了简化开发复杂度,提供了一个Facade类,该类提供了与核心层通信的唯一接口,可以初始化上述三个核心层,并可以访问它们的
, x. M& J5 O# M/ p8 v# ipublic方法,同时该类也是以单例模式提供给应用程序。开发人员只需要继承一个Facade类并创建具体的Facade类就可以实现整个MVC模式。除了知道Facade类之外,还需要了解* x# ?! o+ q2 \4 }8 Q# Q7 ~
与三个核心层相辅助的三个类:Proxy、Mediator、Command。
7 S( d$ b/ | x2 z Proxy,可以理解为代理,负责操作数据的存取。) q) v4 I6 s+ |8 p
Mediator,可以理解为媒介,负责UI层与控制层之间的沟通。2 d. E, K" z% E9 O
Command,则是用来操作具体的业务逻辑。0 k( J/ X( ]* A1 v! |; N
为了对这三个核心层尽量的解耦,PureMVC中采用了消息机制,层与层之间的通信通过发送消息(notification)来实现。消息发送者只需要实现发送,不需要知道谁会接收/ I g. _5 b1 M5 G; ^
这些消息。消息接收者如果需要接收消息,只需要注册一下对应的消息就可以了。如:registerCommand(START_UP, StartUpCommand);这句话产意思就是注册了一个对应关系,
8 M8 T& {, x9 L0 P9 s其中START_UP是消息的名称,StartUpCommand则是一个Command,这样当有人发送了START_UP名称的消息后,就会由StartUpCommand进行处理。
! ], v% `2 u) f$ j( o4 ^# V6 v/ i: s/ Y+ u# e
|
|