с дженериком в copyable можно было бы и сразу позвращать Project, вместо Object
@Denis_V_S2 жыл бұрын
Евгений, замечательно объясняете. Благодарю.
@igoraleksandrovich14984 жыл бұрын
В принципе можно обойтись и без фабрики, и даже без метода клонирования, просто создав конструктор, который на входе принимает объект, с которого нужно снять копию.
@kcheban3 жыл бұрын
Во многих случаях клиентский код, создающий копии объекта, работает только с интерфейсом объекта. Потому конструкторы ему недоступны. И выбор у него - либо фабрика, либо прототип
@andriikompaniiets40434 жыл бұрын
Спасибо. Хорошее видео.
@Andrzej39352 жыл бұрын
Спасибо!
@duoduoo67323 жыл бұрын
ничего не понятно но очень инетересно
@azerphoenix3 жыл бұрын
Спасибо за видео. Интересная реализация данного паттерна. По идее данная реализация похожа на пример реализации при помощи конструктора, но в данном случае метод copy() создает копию объекта. Также отмечу, что можно реализовать данный паттерн используя сериализацию объекта.
@anastasiapryakhina71517 жыл бұрын
не понимаю, а где классы, экземпляры которых нужно создать определяются во время использования программы?
@EugeneSuleimanov7 жыл бұрын
Добрый день, Анастасия - не совсем понятен вопрос. Не могли бы вы уточнить, пожалуйста.
@ErmalayKa7 жыл бұрын
А что за UML вы используете? Подскажите - мне понравились диаграммы.
@EugeneSuleimanov7 жыл бұрын
Добрый день. Для Idea Ultimate - это стандартный плагин. Не входит в Community Edition.
@ErmalayKa7 жыл бұрын
А для Android Studio можете что-нибудь посоветовать кроме SimpleUMLCE?
@EugeneSuleimanov7 жыл бұрын
Не работал с Android - подсказать не смогу.
@Chekist20084 жыл бұрын
Метод в фабрике setPeoject() оказался лишним?
@andriikompaniiets40434 жыл бұрын
Я так понимаю, что если через clone делать, то не будет фабрики. А почему обязательно надо, чтобы класс имплементил интерфейс Cloneable, иначе переопределенный метод clone будет исключение выбрасывать при кастовании?
@azerphoenix3 жыл бұрын
При имплементации интерфейса Clonable и реализации метода clone() создается неполная копия объекта (shallow copy), а при такой реализации или при других реализациях данного паттерная создается полная копия (deep copy)
@Ilya_yarets4 жыл бұрын
добавьте описание
@кейк-щ2и3 жыл бұрын
А зачем здесь описание если по названию видео понятно ,что здесь будет.
@ПумпуруммАй бұрын
За старания спасибо, но за всё остальное жирный минус, очень непонятные объяснения и примеры.
@yevheniikozhevin58455 жыл бұрын
А зачем создавать интерфейс копибал, если в жаве уже существует метод клон у класса обжект и интерфейс клонабл созданные как раз для этих целей? И в случае использование того что я написал будет достаточно в переопределенном методе клон написать super.clone() с отлавливанием исключения. этого будет достаточно если все поля неизменяемые. в противном случае книга эффективное программирование глава 3.4
@EugeneSuleimanov5 жыл бұрын
Потому что это учебное видео, в котором мы пытаемся разобраться с тем, как работают шаблоны проектирования. Которые, конечно же, уже могу тбыть реализованы в Java.
@sergeyzakharchenko17064 жыл бұрын
странно кстати что вы незнаете простого факта что клонирование обьекта даже через переопределенный метод clone() является ужасной практикой. для этого используются конструктор.
@cyrillcheckout4 жыл бұрын
@@sergeyzakharchenko1706 можно узнать обоснование "ужасной" практики? в чем непосредственно очевидные минусы? И какие плюсы копирования объекта через конструктор?
@igoraleksandrovich14984 жыл бұрын
Потому что этот способ больше официально не рекомендуется из-за возможных проблем.
@cyrillcheckout4 жыл бұрын
@@igoraleksandrovich1498 вы такой лапочка, мое почтение :-) "Официальный источник" - смешно, честно.