16 подписчиков
Еще интересная мысль из книги «Java. Эффективное программирование. Джошуа Блох». Сначала приведу мудрый совет автора: «Используйте интерфейсы-маркеры для определения типов, т. е. интерфейс, не содержащий объявлений методов, а лишь указывающий (“маркирующий”) класс, реализующий интерфейс, как имеющий определенные свойства. Например, рассмотрим интерфейс Serializable. Путем реализации этого интерфейса класс указывает, что его экземпляры могут записываться в ObjectOutputStream (быть “сериализованными”). Возможно, вы слышали, что аннотации-маркеры делают интерфейсы-маркеры устаревшими. Это неверное утверждение. Интерфейсы-маркеры обладают двумя преимуществами по сравнению с аннотациями-маркерами. Первое и основное заключается в том, что интерфейсы-маркеры определяют
тип, который реализуется экземплярами маркированного класса; аннотации-маркеры этим свойством не обладают».
И добавлю немного от себя: думаю, такие интерфейсы-маркеры можно отлично использовать вместе с Spring АОП (с удивлением обнаружил, что еще не делал пост по этой теме, значит, еще лежит в заметках, очень интересный инструмент, рекомендую к ознакомлению, если еще не).
Около минуты
18 октября 2024