metaclass: (Default)
[personal profile] metaclass
Обдумываю одну рабочую шизу и есть там один момент - нужно создавать объекты, реализующие один и тот же интерфейс, но немного отличающиеся. Самое простое решение - это передать функцию, которая из параметров создаст нужный объект и вернет его. То бишь фабрику. В связи с этим меня начало плющить: а зачем в дополнение к конструктору объекта еще создавать и статический метод-фабрику, если они делают одно и то же? Но при этом метод можно передать в виде функции, а конструктор нельзя.

Date: 2010-07-13 12:45 pm (UTC)
From: [identity profile] dmitry-vk.livejournal.com
Скажем, в Лиспе конструктор объекта - это обычная функция, и ее можно передавать куда угодно, и в рантайме определять тип создаваемого объекта. В яваскрипте конструктор так же является функцией, хоть и вызывается особым образом.

Я тоже недоумеваю, зачем делают деление на конструкторы и методы.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 27th, 2025 09:18 pm
Powered by Dreamwidth Studios