ООП - недопустимое имя класса по умолчанию?
Я реализую шаблонный тип шаблона и у меня есть несколько классов для реализации поведения.
В качестве примера моя структура выглядит следующим образом:
TemplateAbstract
Type
CustomType1
CustomType2
CustomType3
Default
Класс "Default" содержит поведение, если ни один из пользовательских типов не требуется. Мой вопрос, является ли "Default" плохим именем для класса?
Я предполагаю, что, поскольку я задаю этот вопрос, у меня уже есть некоторые серьезные сомнения относительно имени, но что еще вы бы назвали классом, который обеспечивает поведение по умолчанию среди типов?
3 ответа
Ради примера, ты имеешь в виду что-то подобное?
Number
Integer
PositiveInteger
NegativeInteger
OddInteger
EvenInteger
Как отметил Том Б в своем комментарии, то, как вы подходите к этому, зависит от состава или наследования; но я предполагаю, что, учитывая эту структуру, которую вы выложили, вы хотите использовать наследование. В моем примере использование типа DefaultInteger кажется довольно неудобным для использования, но в вашей конкретной проблеме это может быть не так. И если Integer
это просто интерфейс StandardInteger
может иметь смысл. Подумайте о том, как разработчик будет использовать этот тип, и имеет ли значение "По умолчанию" как отдельную вещь:
Bread
YeastLeavened
Wheat
TwelveGrain
Default
Теперь я не уверен, каким будет дрожжевой дрожжевой хлеб по умолчанию, но если он полезен для вашей программы выпечки, то в этом нет ничего "неправильного". Хотя лично я предпочитаю не иметь Default
как его собственный тип и вместо этого просто есть метод на YeastLeavened.getDefault()
вернуть правильный.
Редактировать: Так что, чтобы ответить на ваш вопрос напрямую, в общем, да, я бы сказал, что "Default" - это плохое имя, если вы не всегда используете его через область видимости (Integer::Default), и, в общем, это сложный класс для самостоятельного использования. концептуально (это либо абстрактная базовая функциональность, либо какой-то конкретный, "реальный" класс, функционирующий как используемый по умолчанию в системе)
Просто расшифруйте имя, назовите его:
DefaultTypeBehaviour
Это маловероятно, чтобы вызвать конфликт, и рассказать вам немного больше о том, что делает класс.
В идеале имя класса должно описывать цель. "По умолчанию" является расплывчатым термином и не имеет никакого значения для функциональности, предоставляемой классом.
Вы можете назвать свой класс Default как-то, что говорит о том, что "в этом классе реализованы все основные функции"
Например, вы можете указать имя типа "BaseType" или "BasicType" или "SimpleType" или что-то еще, соответствующее вашим потребностям.