----- Original Message ----- From: "Matthias Bohlen" <[EMAIL PROTECTED]> To: "'Chad Brandon'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Saturday, February 21, 2004 1:36 PM Subject: Facades and decorators
Hi C&W, good hint, Chad - that's exactly what I did and the best thing is: MagicDraw updated the graphics without any complaint! -- Great! Yeah worked well for me too! But: After having done that, I thought once more about what would happen if we tried to make the metamodel pluggable. And I noticed: We have to generate interfaces for the facades and separate implementations, one implementation for UML 1.4 and one for UML 1.3, for example. The interfaces would then be used in the cartridges - the templates would invoke them instead of invoking concrete classes. That way, the cartridges would be independent of the concrete metamodel versions. -- Yep I agree that this is what needs to be done...I thought you were already planning on making the facades interfaces during the refactoring? Now comes the tricky part: The cartridges contain more facades that extend the basic facades. If the basic facades are interfaces, they cannot be extended directly because I don't want the cartridges to know the concrete facade class. So, we need to do two things: 1) Extend the interfaces. -- Yep 2) Generate/write new implementations that delegate to the base interface and implement the extended interface. -- Sounds good And: Surprise, suprprise, the decorator pattern is back again!!! :-) At least, partly! -- Yep, partly :)...although as long as we aren't exposing the meta model, thats a good thing :) I think, I'll do that tomorrow. I'll define a directory metafacades/common that contains the model which generates the interfaces. And then, one directory metatafacades/uml14 that generates implementations for UML 1.4. -- Sounds great to me! In a few weeks, we could create metafacades/uml13 and make Rational Rose work again! -- Definitely! What do you think about this? Cheers... Matthias > -----Original Message----- > From: Chad Brandon [mailto:[EMAIL PROTECTED] > Sent: Saturday, February 21, 2004 4:32 PM > To: Matthias Bohlen; [EMAIL PROTECTED] > Subject: Re: Starting refactoring > > > Sounds good to me. I'm not sure this is what you're gonna do > but when I had to make names changes in the model I just > unzipped the XMI and did a search and replace and that > changed names fast. > > ----- Original Message ----- > From: "Matthias Bohlen" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]>; "'Chad Brandon'" > <[EMAIL PROTECTED]> > Sent: Saturday, February 21, 2004 4:11 AM > Subject: Starting refactoring > > > Hi folks, > > today, I am going to do the first items on my refactoring > list. I'll try to move the core facade model to > metafacades/uml14 and always replace the word "decorator" by > "facade". I'll try to make everything compile again but I'm > not sure how long that will take. So, please do not try to > modify the core decorator model for some time. > > Thanks... > Matthias > > --- > > Matthias Bohlen > "Consulting that helps project teams to succeed..." http://www.mbohlen.de/ ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ Andromda-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/andromda-devel