On Mon, 3 Jan 2005, Gili wrote:
> On Mon, 03 Jan 2005 09:35:26 -0800, Jonathan Locke wrote: > > >nope. final stops people from using extension points we haven't fully > >thought through. so it's the default for every class and method. in > >fact, this should have been the default in java. > > Heh, C++ uses such mindset. The Java designers made an explicit > decision in 1.0 to make the opposite the default and I happen to agree > with them. Everything should be extensible by default and no problems you should feel free to agree with people even if they are wrong. > should occur so long as you follow objected-oriented design -- that is, > your extension must satisfy all contractual requirements of the > superclass. Frankly, this would work better if Java had design by > contract, but it does not yet. > > From my discussions with the Java guys, the only reason final > even exists (in the context of methods and classes) is for security > reasons (and in the past for performance reasons). It was never meant > as a mechanism for artificially controlling all future changes. > > <my 2 cents> > When I am designing my own frameworks, I let people make > whatever extensions they wish and if they somehow run into problems > because I forgot to expose some precondition/postcondition then I > tighten my documentation. I think this mentality helps open-source you've never written a popular framework then. if you allow people to extend things you haven't thought about, you will never be able to make these changes without breaking people. with a truly popular framework, this means you will be stuck supporting things that make no sense. and believe me, you CANNOT change it. > projects where you don't want everyone double-checking with everyone > else. Right now we're five people working together and double checking > everything. In the future you might have some other project depending > upon ours and extending it for their own use, or even five of them. We > will simply not able to micromanage everything, nor should we try to. > We still get to retain control over our own code, but we shouldn't try > to control other people's code... > </my 2 cents> > > Gili > > > > ------------------------------------------------------- > The SF.Net email is sponsored by: Beat the post-holiday blues > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt > _______________________________________________ > Wicket-develop mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/wicket-develop > ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ Wicket-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/wicket-develop
