1.Òâͼ
ÓÃÒ»¸öÖнé¶ÔÏóÀ´·âװһϵÁеĶÔÏó½»»¥¡£ÖнéÕßʹ¸÷¶ÔÏó²»ÐèÒªÏÔʽµØÏ໥ÒýÓ㬴ӶøÊ¹ÆäñîºÏËÉÉ¢£¬¶øÇÒ¿ÉÒÔ¶ÀÁ¢µØ¸Ä±äËûÃÇÖ®¼äµÄ½»»¥¡£
2.±ðÃû
ÎÞ
3.¶¯»ú
ÃæÏò¶ÔÏóÉè¼Æ¹ÄÀø½«ÐÐΪ·Ö²¼µ½¸÷¸ö¶ÔÏóÖС£ÕâÖÖ·Ö²¼¿ÉÄܻᵼÖ¶ÔÏó¼äÓÐÐí¶àÁ¬½Ó¡£ÔÚ×µÄÇé¿öÏ£¬Ã¿Ò»¸ö¶ÔÏó¶¼ÖªµÀÆäËûËùÓжÔÏó¡£
4.ÊÊÓÃÐÔ
ÒÔÏÂÇé¿öʹÓÃMediatorģʽ£º
Ò»×é¶ÔÏóÒÔ¶¨ÒåÁ¼ºÃµ«ÊǸ´Ôӵķ½Ê½½øÐÐͨÐÅ¡£²úÉúµÄÏ໥ÒÀÀµ¹ØÏµ½á¹¹»ìÂÒÇÒÄÑÒÔÀí½â¡£ Ò»¸ö¶ÔÏóÒýÓÃÆäËûºÜ¶à¶ÔÏó²¢ÇÒÖ±½ÓÓëÕâЩ¶ÔÏóͨÐÅ£¬µ¼ÖÂÄÑÒÔ¸´ÓøöÔÏó¡£ Ïë¶¨ÖÆÒ»¸ö·Ö²¼ÔÚ¶à¸öÀàÖеÄÐÐΪ£¬¶øÓÖ²»ÏëÉú³ÉÌ«¶àµÄ×ÓÀà¡£
5.½á¹¹
ÖнéÕßģʽҲÊÇÓÃÀ´½µµÍÀàÀàÖ®¼äµÄñîºÏµÄ£¬ÒòΪÈç¹ûÀàÀàÖ®¼äÓÐÒÀÀµ¹ØÏµµÄ»°£¬²»ÀûÓÚ¹¦ÄܵÄÍØÕ¹ºÍά»¤£¬ÒòΪֻҪÐÞ¸ÄÒ»¸ö¶ÔÏ󣬯äËü¹ØÁªµÄ¶ÔÏ󶼵ýøÐÐÐ޸ġ£Èç¹ûʹÓÃÖнéÕßģʽ£¬Ö»Ðè¹ØÐĺÍMediatorÀàµÄ¹ØÏµ£¬¾ßÌåÀàÀàÖ®¼äµÄ¹ØÏµ¼°µ÷¶È½»¸øMediator¾ÍÐУ¬ÕâÓеãÏñspringÈÝÆ÷µÄ×÷Óá£ÏÈ¿´¿´Í¼£º

UserÀàͳһ½Ó¿Ú£¬User1ºÍUser2·Ö±ðÊDz»Í¬µÄ¶ÔÏ󣬶þÕßÖ®¼äÓйØÁª£¬Èç¹û²»²ÉÓÃÖнéÕßģʽ£¬ÔòÐèÒª¶þÕßÏ໥³ÖÓÐÒýÓã¬ÕâÑù¶þÕßµÄñîºÏ¶ÈºÜ¸ß£¬ÎªÁ˽âñÒýÈëÁËMediatorÀ࣬Ìṩͳһ½Ó¿Ú£¬MyMediatorΪÆäʵÏÖÀ࣬ÀïÃæ³ÖÓÐUser1ºÍUser2µÄʵÀý£¬ÓÃÀ´ÊµÏÖ¶ÔUser1ºÍUser2µÄ¿ØÖÆ¡£ÕâÑùUser1ºÍUser2Á½¸ö¶ÔÏóÏ໥¶ÀÁ¢£¬ËûÃÇÖ»ÐèÒª±£³ÖºÃºÍMediatZ??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vctauvOS1xLnYz7W+zdDQo6zKo8/CtcTIq9PJTXlNZWRpYXRvcsDgwLTOrLuko6E8L3A+DQo8aDIgaWQ9"6´úÂëʾÀý">6.´úÂëʾÀý
ʵÏÖ´úÂ룺
public interface Mediator {
public void createMediator();
public void workAll();
}
ÖнéÀà
public class MyMediator implements Mediator {
private User user1;
private User user2;
public User getUser1() {
return user1;
}
public User getUser2() {
return user2;
}
@Override
public void createMediator() {
user1 = new User1(this);
user2 = new User2(this);
}
@Override
public void workAll() {
user1.work();
user2.work();
}
}
userÀà
public abstract class User {
private Mediator mediator;
public Mediator getMediator(){
return mediator;
}
public User(Mediator mediator) {
this.mediator = mediator;
}
public abstract void work();
}
public class User1 extends User {
public User1(Mediator mediator){
super(mediator);
}
@Override
public void work() {
System.out.println(user1 exe!);
}
}
public class User2 extends User {
public User2(Mediator mediator){
super(mediator);
}
@Override
public void work() {
System.out.println(user2 exe!);
}
}
²âÊÔÀࣺ
public class Test {
public static void main(String[] args) {
Mediator mediator = new MyMediator();
mediator.createMediator();
mediator.workAll();
}
}
Êä³ö£º
user1 exe!
user2 exe!
7.Ïà¹ØÄ£Ê½
FacadeÓëÖнéÕߵIJ»Í¬Ö®´¦ÔÚÓÚËüÊǶÔÒ»¸ö¶ÔÏó×Ó
ϵͳ½øÐгéÏ󣬴ӶøÌṩÁËÒ»¸ö¸üΪ·½±ãµÄ½Ó¿Ú¡£ËüµÄÐÒéÊǵ¥ÏòµÄ£¬¼´Facade¶ÔÏó¶ÔÕâ¸ö×ÓϵͳÀàÌá³öÇëÇ󣬵«·´Ö®Ôò²»ÐС£Ïà·´£¬MediatorÌṩÁ˸öColleague¶ÔÏó²»Ö§³Ö»ò²»ÄÜÖ§³ÖµÄÐ×÷ÐÐΪ£¬¶øÇÒÐÒéÊǶàÏòµÄ¡£ Colleague¿ÉʹÓÃObserverģʽÓëMediatorͨÐÅ¡£
?