Mediator 中介 行为模式

    Mediator 中介 行为模式,用一个中介来封装一些列的对象操作。中介使得对象之间不需要显示的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。

 

    面向对象鼓励将行为分布到各个对象中。这种分布可能会导致对象见有许多连接。在最坏的情况下,每一个对象都知道其他的对象。在PureMVC中就是使用Mediator,来中介对象之间的操作,对象只要和Mediator通信就可以了。

 

   

 

我们就直接拿 PureMVC 框架的源代码作为例子:

 

IMediator.as

package org.puremvc.interfaces {
	public interface IMediator {
		function getViewComponent():Object;
		function listNotificationInterests( ):Array;
		function handleNotification( notification:INotification ):void;
	}
}
 

 

Mediator.as

package org.puremvc.patterns.mediator {
	import org.puremvc.interfaces.*;
	import org.puremvc.patterns.observer.*;
	import org.puremvc.patterns.facade.Facade;
	
	public class Mediator extends Notifier implements IMediator, INotifier {
		public static const NAME:String = 'Mediator';

		public function Mediator( viewComponent:Object=null ) {
			this.viewComponent = viewComponent;	
		}
	
		public function getMediatorName():String  {	
			return Mediator.NAME;
		}
	
		public function getViewComponent():Object {	
			return viewComponent;
		}
        
		public function listNotificationInterests():Array  {
			return [ ];
		}
 
		public function handleNotification( notification:INotification ):void {}
		
		protected var viewComponent:Object;
	}
}
 

   这个具体Mediator有一个对viewComponent的引用,viewComponent通过发出时间来告诉Mediator,这个对象要干什么,然后Mediator把这个对象要做的事情转发出去,供Command 和 其他对象的Mediator去接受处理。

 

 

 

你可能感兴趣的:(框架)