powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подскажите по AbstractFactory
4 сообщений из 4, страница 1 из 1
Подскажите по AbstractFactory
    #37375874
Iber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим нужно создавать какой либо продукт, не во всех конкретных фабриках. В таком случае не имеет смысла вобше использовать сабжевый паттерн?
...
Рейтинг: 0 / 0
Подскажите по AbstractFactory
    #37375934
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я ничего не понял.
хоть набросай примерный код
...
Рейтинг: 0 / 0
Подскажите по AbstractFactory
    #37375972
Iber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
public interface AbstractFactory
{
public abstract Product1 createProduct1();
public abstract Product2 createProduct2();
}

соответсвено в первой фабрике

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class ConcreteFactory1
{
public Product1 createProduct1()
{
return new ConcreteFactory1Product1();
};
public Product2 createProduct2()
{
return new ConcreteFactory1Product2():
};
}

а вот во второй фабрике
например мне потребовалось добавить Product3, Но он не нужен в первой фабрике, тогда:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public interface AbstractFactory
{
public abstract Product1 createProduct1();
public abstract Product2 createProduct2();
public abstract Product3 createProduct3();
}

соответсвено в первой фабрике

public class ConcreteFactory1
{
public Product1 createProduct1()
{
return new ConcreteFactory1Product1();
}
public Product2 createProduct2();
{
return new ConcreteFactory1Product2():
}
public Product3 createProduct3()
{
???;
}
}
ну и во второй фабрике все реализовано..

клиент ожидает получить объект и не знает, что это фабрика его не делает

Код: plaintext
1.
2.
creqteProducts(ConcreteFactory1);
...
Product3 p = factory.createProduct3();
...
Рейтинг: 0 / 0
Подскажите по AbstractFactory
    #37375978
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Iber
Код: plaintext
1.
2.
3.
4.
public interface AbstractFactory
{
public abstract Product1 createProduct1();
public abstract Product2 createProduct2();
}

соответсвено в первой фабрике

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class ConcreteFactory1
{
public Product1 createProduct1()
{
return new ConcreteFactory1Product1();
};
public Product2 createProduct2()
{
return new ConcreteFactory1Product2():
};
}

а вот во второй фабрике
например мне потребовалось добавить Product3, Но он не нужен в первой фабрике, тогда:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
public interface AbstractFactory
{
public abstract Product1 createProduct1();
public abstract Product2 createProduct2();
public abstract Product3 createProduct3();
}

соответсвено в первой фабрике

public class ConcreteFactory1
{
public Product1 createProduct1()
{
return new ConcreteFactory1Product1();
}
public Product2 createProduct2();
{
return new ConcreteFactory1Product2():
}
public Product3 createProduct3()
{
???;
}
}
ну и во второй фабрике все реализовано..

клиент ожидает получить объект и не знает, что это фабрика его не делает

Код: plaintext
1.
2.
creqteProducts(ConcreteFactory1);
...
Product3 p = factory.createProduct3();


не, тут абстрактная не нужна.

Модератор: Убрано эмоциональное слово :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Подскажите по AbstractFactory
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]