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