Observer in Chat Application

This program integrates Observer pattern in chat app.

Problem Statement

Write a Java program where ChatRoom notifies users of new messages.

Source Code

1 import java.util.*;
2 interface User { void update(String msg); }
3 class ChatRoom {
4 List<User> users=new ArrayList<>();
5 void addUser(User u){ users.add(u); }
6 void sendMessage(String msg){ for(User u:users) u.update(msg); }
7 }
8 class ConcreteUser implements User {
9 String name;
10 ConcreteUser(String n){ name=n; }
11 public void update(String msg){ System.out.println(name+" received: "+msg); }
12 }
13 public class ChatApp {
14 public static void main(String[] args) {
15 System.out.println("Eduinq Chat App");
16 ChatRoom cr=new ChatRoom();
17 cr.addUser(new ConcreteUser("User1"));
18 cr.addUser(new ConcreteUser("User2"));
19 cr.sendMessage("Hello Everyone");
20 }
21 }

Program Output

Eduinq Chat App
User1 received: Hello Everyone
User2 received: Hello Everyone

Explanation

ChatRoom acts as Subject. - Users act as Observers. - Message broadcast demonstrates Observer in enterprise apps. Conclusion: Shows Observer integration in chat application.

Quick Links to Explore