Здравствуйте, IB, Вы писали:
A>>Если объекты Log используются клиентским кодом как есть, а не через какой-то интерфейс (ILog), то это не Factory Method,
IB>То есть, в языках, в которых не предусмотрено явно выделенной сущности для декларации публичного контракта паттерн Factory Method не возможен?
Я не понял твой мысли о явности, приведи пример языка и кода.
IB>"More generally, the term factory method is often used to refer to any method whose main purpose is creation of objects."
IB>Как видишь, по мнению википедии, такая конструкция так же имеет право называться фабричным методом.
Я с этим мнением не согласен и считаю правильным классическое определение. Вопросы?
A>> Я закинул в форум альтернативное мнение и только.
IB>В чем альтернатива-то?
В том что синглтон при правильном использовании не причиняет проблем и из указанных тобой четырёх недостатков только один действительно актуален.
IB>Подумай над этим, и не провоцируй лишний раз..
Извини, но твоя моральная неустойчивость никогда не будет моей проблемой. Если тебя выводят из себя сообщения в форуме настолько, что ты начинаешь хамить, то съезди в горы на пару недель.
IB>То есть, пока я не начну в сабклассе фабрики возвращать именно наследника создаваемого объекта — это не будет фабричным методом?
Верно.
IB>Не кажется ли тебе, что ты довольно узко смотришь на паттерн?
Я не вижу смысла в указанном тобой расширении. Если признать твою точку зрения верной, то любой метод возвращающий не один и тот же объект станет фабричным. Все методы поделятся на instance-accessor'ы синглтонов и фабричные. Это не совсем то, что я считаю правильным. Собственно, это по меньшей мере странно.