Mediator Pattern hiện đại và kết hợp Event Bus

Mediator Pattern giảm liên kết chằng chịt giữa các đối tượng giao tiếp bằng cách bắt các đối tượng giao tiếp gián tiếp qua một đối tượng trung gian (Mediator).

Kiến trúc Mediator:

Mediator Design Pattern Architecture

Mediator hiện đại kết hợp Functional/Lambdas

Thay vì kế thừa và liên kết cứng các Colleague, ta có thể xây dựng Mediator thông qua cơ chế đăng ký callback đơn giản:

import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;

public class ModernMediator {
    private final Map<String, Consumer<String>> registeredColleagues = new HashMap<>();

    public void register(String name, Consumer<String> callback) {
        registeredColleagues.put(name, callback);
    }

    public void dispatch(String sender, String receiver, String message) {
        if (registeredColleagues.containsKey(receiver)) {
            registeredColleagues.get(receiver).accept("[" + sender + "]: " + message);
        }
    }
}

Các Colleague chỉ cần đăng ký Lambda của mình để nhận sự kiện, giúp tách rời hoàn toàn dependencies giữa chúng.

Bình luận (0)

Đang tải bình luận...