ƵµÀÀ¸Ä¿
Ê×Ò³ > ³ÌÐò¿ª·¢ > ×ۺϱà³Ì > ÆäËû×ÛºÏ > ÕýÎÄ
Éè¼ÆÄ£Ê½£ºÖнéÕßģʽdzÎö£¨Mediator£©
2016-04-05 09:59:00         À´Ô´£ºRestarting JAVA  
Êղؠ  ÎÒҪͶ¸å

ÓÃÒ»¸öÖнé¶ÔÏóÀ´·âװһϵÁеĶÔÏó½»»¥¡£ÖнéÕßʹ¸÷¶ÔÏó²»ÐèÒªÏÔʾµØÏ໥ÒýÓ㬴ӶøÊ¹ÆäñîºÏËÉÉ¢£¬¶øÇÒ¿ÉÒÔ¶ÀÁ¢µØ¸Ä±äËûÃÇÖ®¼äµÄ½»»¥¡£
ÕâÀïдͼƬÃèÊö

ÖнéÕßģʽÖеĽÇÉ«£º
1. ³éÏóÖнéÕߣ¨MediatZ†·Ÿ"/kf/ware/vc/" target="_blank" class="keylink">vcik8L3N0cm9uZz6jurao0uXBy82sysK21M/ztb3W0L3p1d+21M/z1q685LXEvdO/2qGjPGJyIC8+DQoyLiA8c3Ryb25nPr7fzOXW0L3p1d+jqENvbmNyZXRlTWVkaWF0b3IpPC9zdHJvbmc+o7q2qNLls+nP89bQvenV37XEt723qKOsy/zQ6NKq1qq1wMv509C1xL7fzOXNrMrCwOCjrM2syrHQ6NKqtNO+38zltcTNrMrCwODEx8DvvdPK1c/7z6KjrLKix9LP8r7fzOW1xM2sysLA4Leiy83Qxc+ioaM8YnIgLz4NCjMuIDxzdHJvbmc+s+nP882sysLA4KOoQ29sbGVhZ3Vlo6k8L3N0cm9uZz48YnIgLz4NCjQuIDxzdHJvbmc+vt/M5c2sysLA4KOoQ29uY3JldGVDb2xsZWFndWWjqTwvc3Ryb25nPqO6w7+49r7fzOXNrMrCwOC2vNa70OjSqtaqtcDX1Ly6tcTQ0M6qvLS/yaOstavKx8v8w8e2vNDo0qrIz8q21tC96dXfoaM8L3A+DQo8cD6wuMD9MaO6PGJyIC8+DQq3v87d1+LB3tbQvem+zcrH0ru49rrcusO1xNbQvenEo8q9o6zX4r/N1rvWqrXA19S8urrN1tC96aOst7+2q9Ky1rvWqrXA19S8urrN1tC96aOstavKx9bQvemx2NDr1qq1wNfiv826zbe/tquho6Oo1NrO0sPHtcTJ+rvu1tC0prSms+Sz4tfFJmxkcXVvO9bQvenV3yZyZHF1bzujrLHIyOfX4re/oaLC8re/oaKz9rn9wfTRp6Gi1dK5pNf3oaLCw9POtci/ycTctrzQ6NKqxMTQqdbQvenV37XEsO/W+qGjo6k8YnIgLz4NCjEgs+nP89bQvenV3zwvcD4NCjxwcmUgY2xhc3M9"brush:java;"> public interface Mediator { void contact(String message, Person person); }

2 ³éÏóͬÊÂÀà

public abstract class Person
{
    protected String name;
    protected Mediator mediator;

    Person(String name, Mediator mediator)
    {
        this.name = name;
        this.mediator = mediator;
    }
}

3 ¾ßÌåͬÊÂÀà
·¿¶«£º

public class HouseOwner extends Person
{
    HouseOwner(String name, Mediator mediator)
    {
        super(name, mediator);
    }

    public void contact(String message)
    {
        mediator.contact(message, this);
    }

    public void getMessage(String message)
    {
        System.out.println("HouseOwner : "+name+", Get Message: "+message);
    }
}

×â¿Í£º

public class Tenant extends Person
{
    Tenant(String name, Mediator mediator)
    {
        super(name, mediator);
    }

    public void contact(String message)
    {
        mediator.contact(message, this);
    }

    public void getMessage(String message)
    {
        System.out.println("Tenant : "+name+", Get Message: "+message);
    }
}

4 Öнé

public class MediatorStructure implements Mediator
{
    private HouseOwner houseOwner;
    private Tenant tenant;

    public HouseOwner getHouseOwner()
    {
        return houseOwner;
    }
    public void setHouseOwner(HouseOwner houseOwner)
    {
        this.houseOwner = houseOwner;
    }
    public Tenant getTenant()
    {
        return tenant;
    }
    public void setTenant(Tenant tenant)
    {
        this.tenant = tenant;
    }

    @Override
    public void contact(String message, Person person)
    {
        if(person == houseOwner)
        {
            tenant.getMessage(message);
        }
        else
        {
            houseOwner.getMessage(message);
        }
    }
}

5 ²âÊÔ´úÂë

        MediatorStructure mediator = new MediatorStructure();

        HouseOwner houseOwner = new HouseOwner("qq",mediator);
        Tenant tenant = new Tenant("jj",mediator);

        mediator.setHouseOwner(houseOwner);
        mediator.setTenant(tenant);

        tenant.contact("I wanna a house");
        houseOwner.contact("I have~");

ÔËÐнá¹û£º

HouseOwner : qq, Get Message: I wanna a house
Tenant : jj, Get Message: I have~

ÓÅȱµã
Óŵã

Êʵ±µÄʹÓÃÖнéÕßģʽ¿ÉÒÔ±ÜÃâͬÊÂÀàÖ®¼äµÄ¹ý¶ÉñîºÏ£¬Ê¹µÃ¸÷ͬÊÂÀàÖ®¼ä¿ÉÒÔÏà¶Ô¶ÀÁ¢µØÊ¹Ó᣼õÉÙ×ÓÀàµÄÉú³É¡£¿ÉÒÔ¼õÉÙ¸÷ͬÊÂÀàµÄÉè¼ÆÓëʵÏÖ¡£

ȱµã
1. ÓÉÓÚÖнéÕß¶ÔÏó·â×°ÁËϵͳÖеĶÔÏóÖ®¼äµÄÏ໥¹ØÏµ£¬µ¼ÖÂÆä±äµÃ·Ç³£¸´ÔÓ£¬Ê¹µÃϵͳά»¤±È½ÏÀ§ÄÑ¡£ÖнéÕßÐèÒªÖªµÀÿ¸ö¶ÔÏóºÍËûÃÇÖ®¼äµÄ½»»¥Ï¸½Ú£¬Èç¹ûËü³öÎÊÌ⣬½«»áµ¼ÖÂÕû¸öϵͳ¶¼»á³öÏÖÎÊÌâ¡£ËùÒÔËü±È½ÏÈÝÒ×Ó¦ÓÃÒ²ºÜÈÝÒ×ÎóÓ᣹ʵ±ÏµÍ³ÖгöÏÖÁË“¶à¶Ô¶à”½»»¥¸´ÔӵĹØÏµÈºÊ±£¬Ç§Íò±ð¼Ç×ÅʹÓÃÖнéÕßģʽ£¬ÄãÊ×ÏÈÐèÒª×öµÄ¾ÍÊÇ·´Ë¼ÄãµÄϵͳÔÚÉè¼ÆÉÏÊDz»ÊǺÏÀí¡£ÔÙÕߣ¬ÔÚʵ¼Ê¹¤×÷ÖУ¬ÖнéÕßģʽҲ²¢²»¶à¼û¡£


ÊÊÓó¡¾°
1. ϵͳÖжÔÏóÖ®¼ä´æÔڱȽϸ´ÔÓµÄÒýÓùØÏµ£¬µ¼ÖÂËüÃÇÖ®¼äµÄÒÀÀµ¹ØÏµ½á¹¹»ìÂÒ¶øÇÒÄÑÒÔ¸´ÓøöÔÏó¡£
2. Ïëͨ¹ýÒ»¸öÖмäÀàÀ´·â×°¶à¸öÀàÖеÄÐÐΪ£¬¶øÓÖ²»ÏëÉú³ÉÌ«¶àµÄ×ÓÀà¡£

JDKÖеÄÖнéÕßģʽ£º
java.util.Timer
java.util.concurrent.Executor#execute()
java.util.concurrent.ExecutorService#submit()
java.lang.reflect.Method#invoke()


 

µã»÷¸´ÖÆÁ´½Ó ÓëºÃÓÑ·ÖÏí!»Ø±¾Õ¾Ê×Ò³
ÉÏһƪ£º¼¸¸öopenglÁ¢·½Ì廿֯°¸Àý·ÖÎö
ÏÂһƪ£ºSpring4ÐÂÌØÐÔ·ÖÎö¡ª¡ª¼¯³ÉBean Validation 1.1(JSR-349)µ½SpringMVC
Ïà¹ØÎÄÕÂ
ͼÎÄÍÆ¼ö

¹ØÓÚÎÒÃÇ | ÁªÏµÎÒÃÇ | ¹ã¸æ·þÎñ | Ͷ×ʺÏ×÷ | °æÈ¨ÉêÃ÷ | ÔÚÏß°ïÖú | ÍøÕ¾µØÍ¼ | ×÷Æ··¢²¼ | Vip¼¼ÊõÅàѵ | ¾Ù±¨ÖÐÐÄ

°æÈ¨ËùÓÐ: ºìºÚÁªÃË--ÖÂÁ¦ÓÚ×öʵÓõÄIT¼¼ÊõÑ§Ï°ÍøÕ¾