Что и когда использовать, property, дескрипторы или setter и getter?
Добрый день!
Начал изучать ООП на примере Python (изучаю его). Дошел до классических сеттеров и геттеров, потом появились @property и теперь еще дескрипторы. И настал момент, когда я задался вопрос, что ч@рт возьми мне использовать и когда? @property - есть шансы нарушить DRY, setter - путь Питона не рекомендует, тогда остаются дескрипторы, которые пратически не используют? И как быть? Можно ли пользоваться только одной техникой?
P/s. Смотрел паттерны python и там используют только @property.
Отметил ответ Сергей Горностаев решением, так как на ваш вопрос невозможно дать ответ в виде нескольких предложений. Прочтите книгу(и попрактикуйтесь, и если что-то конкретное будет не понятно, тогда задавайте конкретные вопросы).
Сергей Карбивничий, не согласен с вами. Если на этот вопрос, попадает в категорию правил, то пусть модераторы удалят его, иначе я считаю, что вопрос остается открытым. Так можно ответить на любой вопрос : "почитайте там".