Показаны сообщения с ярлыком generics. Показать все сообщения
Показаны сообщения с ярлыком generics. Показать все сообщения

воскресенье, 4 октября 2015 г.

Коротко о PESC

Данный прием используется для обеспечения гибкости при проектировании api с использовании generic'ов. Для дальнейшего понимания, стоит напомнить, что такое wildcard в java.
Wildcard - это ограничение для типов, которые мы определяем с помощью generic'ов. Оно может быть как сверху, так и снизу.
Ограничение снизу, определяется следующим образом Ему удовлетворяют все классы, у которых потомком является класс T.
Обозначает ограничение сверху, под него подпадают все классы наследованые от класса T.
Итак, вернемся теперь к PECS. Он гласит: producer - extends, consumer - super.
Если метод является producer, то используем ограничение сверху, если consumer, то снизу. Осталось определить, когда метод является consumer, а когда producer.
Лучше показать на примерах.