Я пытаюсь разработать хорошую систему создания сущностей с абстрактной фабрикой (согласно http://www.dofactory.com /Patterns/PatternAbstract.aspx), но я испытываю затруднения, когда дело доходит до параметров конкретного экземпляра.
Например: У меня есть две абстрактные фабрики, одна для создания снаряда, а другая для создания ящика
Теперь фабрика может быть либо одним экземпляром для каждого типа, которому передается набор абстрактных параметров из списка (который в базовом классе будет иметь общий материал, размер и т. д.), параметры для конкретного типа - это скорость снаряда и прочность ящика.
Но я борюсь с тем, что в конце концов у меня есть этот абстрактный фабричный метод, который я вызываю с параметрами например, строки BulletProjectile и WeakCrate, мне нужно предоставить параметры, специфичные для экземпляра, и, что более важно, они бывают разных типов для разных фабрик - для снарядов они будут иметь позицию и скорость, а ящик будет просто иметь позицию. Худший сценарий - когда пользователь или игрок создает ящик или подобный объект и может определить его размеры. Как мне с этим справиться?