Здравствуйте, IB, Вы писали:
IB>Давай рассмотрим простой сценарий: Есть интерфейс фабричного метода, задача которого конструировать объект логгирования. Есть две разные реализации этого интерфейса, одна инициализирует объект логгирования одним именем файла лога, другая — другм. При этом объект один и тот же — Log. Является ли это паттерном Factory Method или нет? И если нет, то как зазывается этот паттерн?
Если объекты Log используются клиентским кодом как есть, а не через какой-то интерфейс (ILog), то это не Factory Method, а просто метод возвращающий объект и никакого паттерна тут нет.
IB>Ну, когда ты меня убедишь в том чтоя не прав, я непременно это скажу..
А у меня нет цели убедить
тебя, что ты не прав. Мир крутится не вокруг тебя. Я закинул в форум альтернативное мнение и только. Кому надо, сам подумает головой, кому не надо, не подумает... ну или не сам.
A>> Честно говоря, я давно подозреваю, что ты осознаёшь свою неправоту, но не хочешь признаваться.
IB>Да хватит уже дешевых лозунгов, Рома..
В своём глазу бревна не увидать... Ты внимательно перечитай свои сообщения, сколько в них высокомерия и хамства, а потом уже и про дешёвые лозунги поговорим.
A>> Product (Document) — продукт:
A>>- определяет интерфейс объектов, создаваемых фабричным методом;
IB>Если этот интерфейс выражается одним конкретным классом — это уже не Factory Method?
Тип не может быть классом и одновременно своим же подклассом, так что ответ на твой вопрос — нет. Я вообще представляю себе всю бредовость ситуации если бы ответ был да, ведь тогда мы бы могли назвать int operator+(int, int) фабричным методом порождающим разные int'ы.