Я изучаю различные шаблоны дизайна, и у меня есть сильное чувство, что я не вижу существенной части (или частей) в понимании этой конкретной картины.
На всех сайтах, которые я просмотрел, и в книге GoF я вижу метод clone. Из того, что я понимаю, у нас есть некоторый тип объекта, который мы можем клонировать, когда нам нужны разные версии этого объекта, но мы не хотим, чтобы каждый из них создавал вручную, используя команду "new" (как в Java). Это может скрыть его конкретную реализацию. Поэтому, когда мы клонируем, мы можем немного модифицировать клон и сделать это, что нам нужно, не зная, как изначально создать этот объект. Я считаю это правильным?
Мне также говорят, что это может уменьшить подклассирование и впоследствии уменьшить количество классов, которые вам нужно сделать. Я не совсем понимаю эту часть. Может ли кто-нибудь помочь мне понять это?
Мой последний вопрос касается абстрактного метода factory (или даже метода factory). Эти шаблоны factory и образец прототипа чувствуют, что они пытаются скрыть конкретные реализации при создании новых объектов. Когда лучше выбрать один из другого?
Спасибо всем!