Java中的訂閱和發布模式是一種非常有用的設計模式,在該模式中,發布者向訂閱者發送消息,并且訂閱者必須注冊以接收該消息。
public class Publisher { private List<Subscriber> subscribers = new ArrayList<>(); public void subscribe(Subscriber s) { subscribers.add(s); } public void unsubscribe(Subscriber s) { subscribers.remove(s); } public void publish(String message) { for (Subscriber s : subscribers) { s.receiveMessage(message); } } } public interface Subscriber { void receiveMessage(String message); }
在上面的代碼示例中,我們首先創建了一個發布者類(Publisher),其中包含一個訂閱者列表(List<Subscriber>)。然后,我們定義了兩個方法:subscribe用于訂閱一個訂閱者,unsubscribe用于取消訂閱。最后,我們定義了一個publish方法,該方法用于向所有訂閱者發送消息。
接下來,我們創建了一個訂閱者接口(Subscriber),其中只有一個receiveMessage方法,用于接收發布者發送的消息。
使用上述代碼,我們可以輕松地進行訂閱和發布消息。下面是一個簡單的示例:
Publisher publisher = new Publisher(); Subscriber subscriber1 = new MySubscriber(); Subscriber subscriber2 = new MySubscriber(); publisher.subscribe(subscriber1); publisher.subscribe(subscriber2); publisher.publish("Hello, world!");
在上面的示例中,我們首先創建了一個發布者對象(publisher),并創建了兩個訂閱者對象(subscriber1和subscriber2)。然后,我們將這兩個訂閱者注冊到發布者對象中,并通過發布者對象向它們發送了“Hello, world!”消息。
在實際應用程序開發中,訂閱和發布模式非常有用。例如,在Web開發中,您可以使用此模式將Web應用程序中的事件分發給所有相關方。在游戲開發中,您可以使用此模式使對象對游戲中的關鍵事件進行反應。
下一篇oracle 查詢進程