Я создаю перечислимые значения, которые имеют структуру данных, подобную следующей:
enum MetaType {
HUMAN(
new MetaTypeAttribute(AttributeType.BODY, 1, 6),
new MetaTypeAttribute(AttributeType.AGILITY, 1, 6),
new MetaTypeAttribute(AttributeType.REACTION, 1, 6)
),
ORK(
new MetaTypeAttribute(AttributeType.BODY, 4, 9),
new MetaTypeAttribute(AttributeType.AGILITY, 1, 6),
new MetaTypeAttribute(AttributeType.REACTION, 1, 6)
);
MetaType(MetaTypeAttribute body, MetaTypeAttribute agility, MetaTypeAttribute reaction) {
}
}
Итак, есть перечисление MetaTypes;Каждый MetaType определяет фиксированный набор MetaTypeAttributes, который состоит из минимального и максимального значения для этого атрибута.
Я ненавижу этот синтаксис.Это слишком долго, некрасиво и не мешает мне передать неверный AttributeType (AttributeType должен соответствовать порядку аргументов конструктора MetaType; AttributeType.BODY> body и т. Д.)То, что я хочу, - это лучший шаблон для обеспечения того, чтобы объект был построен по этой точной схеме.
Этот код сокращен.В действительности существует 9 типов атрибутов.
Есть предложения по улучшению?