On Apr 22, 2005, at 5:53 AM, Mind Bridge wrote:
Hi,
Do you have to 'implement' or 'extend' a particular type? Can you have multiple inheritance with that type or not? Can you instantiate it?
The answers of those questions are clear with 'IPage'. If 'Page' can be both a class or an interface, you have to look through the code to find that out.
Interfaces and classes are two rather different concepts. It seems to me that they need to be distinguished clearly. Removing the 'I' in front of the name and the characters that saves are a much smaller win compared to the loss of clarity and the time wasted in figuring out what can be done with that type.
I disagree. Putting an "I" in front of something that is declared as an "interface" already is redundant. My IDEs (I juggle between Eclipse and IDEA) both easily show me what kind of beast a particular reference is if I want to know. In most cases its irrelevant whether you're dealing with one or the other. Tapestry is the exception here - no other API I work with uses this old-school Hungarian notation.
It's not really worth dwelling on, though. Howard has already agreed that moving forward the I-prefix will be dropped for new code. The question now is what to do about the existing interfaces. Putting a cleaner name in interface hierarchy (RequestCycle extends IRequestCycle, or vice versa) and deprecating the I-prefixed stuff seems to make sense. This will be ugly though - as method signatures using those interfaces will need to be duplicated with the old one deprecated - right?
Erik
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
