On Thu, Feb 3, 2011 at 9:26 AM, Emmanuel Lecharny <[email protected]> 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

Reply via email to