2014-12-09 3 views
1

Я пишу систему частиц и имею иерархию одного излучателя, содержащего много частиц.Должны ли EventArgs содержать EventArgs?

Частицы огня событие столкновения с миром:

public event EventHandler<HitWrapperArguments> onHitCallback; 

Я нахожусь в процессе имеющий эмиттер подписаться на каждую частицу, так что может стрелять событие, когда любая частица сталкивается:

public event EventHandler<ParticleHitWrapperArguments> onParticleHitCallback; 

Мой вопрос:

Должен ли мой ParticleHitWrapperArguments содержать файлы HitWrapperArguments или же я должен распаковать HitWrapperArguments и поместить информацию о столкновении ион непосредственно в ParticleHitWrapperArguments?

enter image description here

ответ

1

лично это не имеет значения для меня слишком много, но я хотел бы пойти на 2.

Это просто выглядит чище, и я думаю, что это будет проще в использовании. Это требует дополнительного кодирования, которое может привести к дополнительным ошибкам, но я бы не стал беспокоиться об этом.

0

Нет правильного ответа, но я бы сказал, что использовать вариант 1. Это меньше работает и, следовательно, меньше подвержено ошибкам, и это оставит вас со структурой, напоминающей порядок создания, что облегчит отладку (подумайте внутренние исключения). Если вы измените структуру, вам придется выполнить минимальные изменения в классе args wrapping, просто один пример того, как он лучше проектируется.

Если вам нужно выполнить любую обработку аргументов на этом этапе, тогда, конечно, выполните эти операции и сохраните новые результаты в новом объекте args.