Hi C&W,

good hint, Chad - that's exactly what I did and the best thing is:
MagicDraw updated the graphics without any complaint!

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.

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.
2) Generate/write new implementations that delegate to the base
interface and implement the extended interface.

And: Surprise, suprprise, the decorator pattern is back again!!!  :-) At
least, partly!

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.

In a few weeks, we could create metafacades/uml13 and make Rational Rose
work again!

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_id56&alloc_id438&op=click
_______________________________________________
Andromda-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/andromda-devel

Reply via email to