Я имею в виду производительность, скорость.
В этот момент вы действительно могли стать жертвой преждевременной оптимизации. Если вы не определите узкое место вашего приложения, например, в цикле в вашей логике, то вы ищете повышение эффективности в неправильном месте.
Это все о удобочитаемости и обслуживании .
Вы должны подумать о том, какой подход будет лучше для читателя вашего кода (это может быть вы в будущем!). Наличие кода с высокой читабельностью действительно облегчает обслуживание, поскольку следующий человек легче поймет, что происходит.
Какая логика подкласса или дескриптора лучше?
Ваш выбор. Подумайте, что лучше подходит для вашего приложения, и продолжайте.
Например, если приложение использует различные редакторы (один для буквенно-цифрового ввода, один для числового ввода, один для приема только букв, один для принятия только специальных символов и т. Д.), Тогда имеет смысл иметь редактор классов и несколько подклассов alphanumericEditor, numericEditor и т. д., где каждый подкласс наследуется от Editor.