C++
На каждый паттерн описать: Builder , Decorator
1. Проблема, которая возникает
2. Теоритическое решение этой проблемы
3. Описание паттерна и что им делается
4. Пример просто кода на С++/C#. .
Ответы
Ответ:
abstract class Component
{
public abstract void Operation();
}
class ConcreteComponent : Component
{
public override void Operation()
{}
}
abstract class Decorator : Component
{
protected Component component;
public void SetComponent(Component component)
{
this.component = component;
}
public override void Operation()
{
if (component != null)
component.Operation();
}
}
class ConcreteDecoratorA : Decorator
{
public override void Operation()
{
base.Operation();
}
}
class ConcreteDecoratorB : Decorator
{
public override void Operation()
{
base.Operation();
Ответ:
1. Паттерн Builder. Назначение. Общие сведения
Паттерн Builder принадлежит к порождающим паттернам и используется для порождения объектов.
Необходимость использования паттерна Builder в программе возникает в случаях, когда нужно добавлять новые возможности без существенного изменения кода. Под возможностями понимаются дополнительные преобразования, которые генерируют конечный продукт (объект). В паттерне Builder представление объекта отделяется от его конструирования (построения). При этом, для конкретной конструкции получаются разные представления.
Объяснение: