Я видел в приложении такие интерфейсы, как:
IHasContent
IHasValue
IHasMesh
IHasGeometry
IHasTransformation
Разве их не должно быть?:
IHaveContent
IHaveValue
...
Или?:
IIncludeContent
IIncludeValue
...
Лично я склоняюсь к тому, чтобы просто сделать их:
IContent
IValue
IMesh
IGeometry
ITransform
Потому что не «t ISomething
уже подразумевает, что у него есть это something
?
Что касается последнего, должен ли я вместо этого сделать его ITransformable
?
Я думаю использование I + (Has / Have / Include / Exist и т. д.) + Name
делает имена интерфейсов более запутанными.
Любые идеи о том, как придумать лучшие имена интерфейсов, которые не будут неудобными, является точным и передает смысл?