Exactly, everyone think it’s the standard. But very few really know why. :)
The i’ is not needed because you are denoting a subject type, like horse.
The actual class implementing class will always be a subtype with a more specific name like FastHorse, or IcelandicLeperHorse or some such.
If we actually had a horse’ class, then we would not really need a horse interface, because we would not have subtypes.
This makes the i’ entirely redundant, since interfaces serve like a type, similar to how variables and classes do.
I mean you would not prepend a number variable with n’ would you?
Counter argument here would be that sometimes knowing the structure type is practical, like if you are using inflection.
But inflection is bad, and again it’s a specific usecase. So making it a global rule’ is kinda overkill.
Interesting. I've seen the interface match the class when its a service. ex. IDataService and DataService. The 'I' is used to distinguish between the 2 files easily. The interface is needed for dependency injection.
I have seen that argument somewhere before, but i still wonder. Would the class definition not suffice as the type?
I mean dependency injection systems usually just manage shared instances.
Maybe it's language dependent and i am just missing a piece of the puzzle. :/
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Exactly, everyone think it’s the standard.
But very few really know why. :)
The i’ is not needed because you are denoting a subject type, like horse.
The actual class implementing class will always be a subtype with a more specific name like FastHorse, or IcelandicLeperHorse or some such.
If we actually had a horse’ class, then we would not really need a horse interface, because we would not have subtypes.
This makes the i’ entirely redundant, since interfaces serve like a type, similar to how variables and classes do.
I mean you would not prepend a number variable with n’ would you?
Counter argument here would be that sometimes knowing the structure type is practical, like if you are using inflection.
But inflection is bad, and again it’s a specific usecase. So making it a global rule’ is kinda overkill.
Interesting. I've seen the interface match the class when its a service. ex. IDataService and DataService. The 'I' is used to distinguish between the 2 files easily. The interface is needed for dependency injection.
I have seen that argument somewhere before, but i still wonder.
Would the class definition not suffice as the type?
I mean dependency injection systems usually just manage shared instances.
Maybe it's language dependent and i am just missing a piece of the puzzle. :/