Now it looks
to me like an overhead without any real gain.
As far as I know from the few hours I helped with the port, the slots
automatically update the opposite relationships. So if you add an
attribute to a class, the attribute will automatically point back to
the owning class. The same same happens if you set the owning class of
an attribute to a different class all the relationships are
automatically updated.
The few times I used the "old" Moose I found it quite annoying and
error prone that I had to manage all these opposite relationships
manually.
When you created a new metamodel: probably.
even if
aClass remove: aMethod
and aMethod setBelongTo: nil (not even necessary) is not that complex.
I think this is a big advantage, if I observed all
this
correctly. I might well be wrong ...
You are right but in Famix how many times do you code the FAMIX
metamodel: once every three to five or eight
years.
And what is the cost:
getting a slot and sending values all the time.
Nothing is free.
My biggest concern is that we are using a technology from people that
do not care at all of moose.
So I'm concerned that I will have to understand all the things that
Moose use as infrastructure, because I will maintain
and want build on top of moose.
So Slot are probably cool to generate new metamodel. But we could
generate directly the method
doing the manipulation without having a slot object in our way.
Stef