Hello Zhongpeng Lin!
Bob found the right wiki pages for this.
I would like to add this!
The CoreHelper class is just one of the classes in the model interface that
are designed in the same way. It was done to allow the move from NSUML to
MDR (and since it is still in place it allows the same features when moving
further to EMF/ECORE).
Both NSUML and MDR are packages with a lot of classes with access methods
for relations that were generated from some model. To avoid having to
generate an adaptive layer with the same amount of classes, the API was
drawn up in this way. I would guess that Generics could be used to do this
generation in some other way but when this was done java did not have
Generics so generation of java classes was the only option.
Because of the many changes already in this I am not eager to through the
extra layer out and use Ecore/EMF directly. Bobs solution with implementing
the extra layer more elegantly is the other way forward. I hope that
someone will soon do it to take us out of the situation we're in.
/Linus
2012/4/27 Zhongpeng Lin <[email protected]>
> Hello,
>
> I found most of methods declared in Corehelper are procedural style
> instead of OO style: object of an operations is passed as a parameter
> of the operation, as oppose to calling operations on the object. By
> putting all the "utility methods" in this interface, it makes its
> implementing classes god classes. Also, it seems that CoreHelper was
> not introduced accidentally, but was designed intentionally. What is
> the design rationale of this class instead of distributing the
> function among classes? Did such god classes do any harm to the
> development?
>
> I am a PhD student doing research on the evolution of god classes. Any
> inspiration would be appreciated!
>
> Regards,
> Zhongpeng Lin
>
> ------------------------------------------------------
>
> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2953238
>
> To unsubscribe from this discussion, e-mail: [
> [email protected]].
> To be allowed to post to the list contact the mailing list moderator,
> email: [[email protected]]
>
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=450&dsMessageId=2954477
To unsubscribe from this discussion, e-mail:
[[email protected]].
To be allowed to post to the list contact the mailing list moderator, email:
[[email protected]]