Я хотел бы спросить, что лучше использовать, шаблон проектирования фабрики или сборщика, в моем случае.
Короче говоря, у меня есть класс Action с параметрами: TransferRate, recoverRate, cost и name. В моей программе у меня будет массив с 30 (всегда одинаковыми) объектами Action. У каждого всегда одна и та же настройка параметров.
Я больше думаю об использовании фабрики, но если вы дадите мне совет, который лучше, я был бы признателен.
Краткий пример:
import lombok.Getter;
Фабрика:
@Getter
abstract public class Action {
protected double transferRateBlock;
protected double recoverRateBlock;
protected int cost;
protected String name;
}
public class CloseAirports extends Action {
public CloseAirports(){
this.transferRateBlock = -0.4;
this.recoverRateBlock = 0;
this.cost = 3;
this.name = "Close airports";
}
}
public class CloseBorders extends Action {
public CloseBorders(){
this.transferRateBlock = -0.5;
this.recoverRateBlock = 0;
this.cost = 4;
this.name = "Close Borders";
}
}
У меня 30 таких подклассов. Каждый подкласс собирается массив в другом классе. Клиент просто использует эти действия, а не создает их. Каждый всегда обрабатывается заранее.
CloseAirports closeAirports = new CloseAirports();
CloseBorders closeBorders = new CloseBorders();
Action[] allActions = {closeAirports, closeBorders};
Или я должен использовать скорее шаблон проектирования Builder с этой реализацией? :
Action closeSchool = new Action().withTransferRateBlock(0.5).withRecoverRateBlock(0).withCost(2).withName("Close Schools");
Action[] allActions = {closeSchool};