On Thu, Feb 3, 2011 at 9:26 AM, Emmanuel Lecharny <elecharny@gmail.com> wrote:
> Hi guys,
>
> after the mails we exchanged yesterday, here is some proposal for the Codec
> hierarchy we came with :
>
> http://d.pr/iGKG
>
> In case the image link is broken, here is a text version
> (XXX) : interface
> [XXX] : Class
> {XXX} : Abstract class
>
> General case for a specific control :
>
> (Control) o------- {AbstractControl}
> ^ ^
> | |
> (EntryChange) o----- [EntryChangeImpl]
>
> Special case for Control we don't declare in the API :
>
> (Control) o------- {AbstractControl}
> o ^
> | |
> +------------ [OpaqueControlImpl]
>
> Base line :
> - all the implementations ends with an *Impl* postfix
> - all specific controls have an interface with no *I* prefix
> - the AbstractControl contains shared fields (OID and criticality)
> - the getValue(), setValue() and hasValue() are hidden for all specific
> controls, except for the OpaqueControlImpl class
>
> About the Decorators, we also came with a simpler hierarchy :
> http://d.pr/Td9V
>
> It's not final yet.
Looks great. Love the pretty diagrams which we can put in our doco.
Let me know how far you got last night with this.
Thanks,
Alex
|