В конкретном примере, который вы перечислили выше, все знают, что эти вещи являются фруктами, поэтому я думаю, что нет необходимости включать Fruit
в имена подклассов.
В целом, все, что вы выбрали, будет хорошо, покакак это соответствует.
Мне нравится сначала французский способ именования объекта и дескрипторов (прилагательных) впоследствии, поэтому, если бы мне пришлось выбирать, я бы предпочел FruitApple
, FruitOrange
и т. Д., А не AppleFruit
,OrangeFruit
(и избыточный PassionFruitFruit
:)).Он также имеет преимущество в том, что показывает все подклассы в кластере в алфавитном порядке, что может помочь некоторым средам разработки или завершителям кода.
Если, с другой стороны, вы берете в качестве модели стандартную библиотеку, вы 'найду предпочтение именования подклассов в формате SpecificBase
.Например, модуль ведения журнала определяет StreamHandler
и FileHandler
как подклассы Handler
.