yep. Perfectly stated. On 23/03/2012 03:32, pablo pazos wrote: > +1 to Grahame comments. > > - Pablo. > > > Date: Fri, 23 Mar 2012 12:12:04 +1100 > > Subject: Re: Suggestion to replace use of generics with inheritence > in future RM versions > > From: grahame at healthintersections.com.au > > To: openehr-technical at lists.openehr.org > > > > Generally, you can do things in specifications that can't be > > reproduced in actual implementations. > > Since there is one specification, but many implementations, the list > > of things that the specification > > contains that aren't easy to implement varies widely between > implementations. > > The things that are hard to implement are sometimes also very useful > > for expressing meaning > > and purpose. So a good specification balances between using things > > that are useful without > > using things that are too hard to use. > > > > With regard to generics, my normal implementation contexts do not > > support generics (XML/XSD, old > > versions of various languages), but I still find them useful in the > > specifications and would prefer > > the specification expressed itself cleanly > > > > Grahame > > > > On Fri, Mar 23, 2012 at 11:51 AM, Peter Gummer > > <peter.gummer at oceaninformatics.com> wrote: > > > David Moner wrote: > > > > > >> I was exaclty thinking about this while seeing this proposal for > the ITEM_STRUCTURE change to a VALUE_CLUSTER: > > >> > > >> > http://www.openehr.org/wiki/display/spec/openEHR+2.x+RM+proposals+-+lower+information+model#openEHR2.xRMproposals-lowerinformationmodel-CandidateA.1AddVALUECLUSTER%2CRemoveITEMSTRUCTUREtypes > > >> > > >> It is an example of multiple inheritance not supported by Java > and some other languages. > > > > > > > > > Multiple inheritance is easily implemented in Java and C# ... via > interfaces. > > > > > > The problem is that you often need to duplicate code. For example, > in that diagram, VALUE_CLUSTER inherits from both ELEMENT and CLUSTER. > In C# you can't do that, so you would probably declare ValueCluster as > implementing two interfaces, IElement and ICluster; then you would > copy the implementations of Element and Cluster into ValueCluster. > Java would do something similar, although the naming convention of the > interfaces might be different. (In C#, you might even decide to avoid > some of the code duplication by using extension methods. Or maybe not > ... it might cause more trouble than it solves.) > > > > > > Peter > > > > > > > > > _______________________________________________ > > > openEHR-technical mailing list > > > openEHR-technical at lists.openehr.org > > > > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org > > > _______________________________________________ > openEHR-technical mailing list > openEHR-technical at lists.openehr.org > http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
-- Ocean Informatics *Thomas Beale Chief Technology Officer, Ocean Informatics <http://www.oceaninformatics.com/>* Chair Architectural Review Board, /open/EHR Foundation <http://www.openehr.org/> Honorary Research Fellow, University College London <http://www.chime.ucl.ac.uk/> Chartered IT Professional Fellow, BCS, British Computer Society <http://www.bcs.org.uk/> Health IT blog <http://www.wolandscat.net/> * * -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120323/e96305c1/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: ocean_full_small.jpg Type: image/jpeg Size: 5828 bytes Desc: not available URL: <http://lists.openehr.org/pipermail/openehr-technical_lists.openehr.org/attachments/20120323/e96305c1/attachment.jpg>