Урок Java 378: Best practice 14: Чем интерфейсы лучше абстрактных классов
🧠 Хитрая задача для Java-разработчиков: “Зеркальная фабрика
🧠 Хитрая задача для Java-разработчиков: “Зеркальная фабрика” 📌 Условие: Реализуйте абстрактную фабрику MirrorFactory, которая: - При создании объекта класса T возвращает прокси, который повторяет все методы оригинального объекта - Но дополнительно логирует имя каждого вызванного метода и автоматически вызывает метод с тем же именем у другого объекта (его зеркала) 🎯 Иными словами: MyService original = new MyService(); MyService mirror = new MyService(); MyService proxy = MirrorFactory.create(original, mirror); proxy.doWork(); // Лог: // doWork() called // original.doWork() вызван // mirror...
Шаблоны проектирования: Фабрика
Данный материал требует знакомства с ООП, в частности с наследованием, интерфейсами, абстрактными и статическими методами. Если вы воспринимаете шаблоны проектирования как некие супер-оригинальные решения, то это не всегда так. Зачастую описание шаблона вызывает лишь недоумение – Бывает, что одни и другие шаблоны делают практически одно дело, что тоже вызывает вопрос – почему у них разные названия? Действительно, грань иногда очень тонка, но различия проявляются в ваших намерениях, даже если они отсутствуют в коде...