Steve Cook's WebLog

More on Meta/Domain

I first came across the term Metaclass around 1980 in the context of a programming language - Smalltalk, in fact.  In dynamic OO programming languages like Smalltalk, CLOS, etc a Metaclass is a class whose instances are classes.  That makes good sense to me.

Later, in the modelling world, some people started using Metaclass to mean "a class in a metamodel".  This is much less justifiable.  If your metamodel contains a class called UseCase, say, then instances of that class are objects that represent use cases.  It makes much more sense to say that if my domain concerns use cases, then a class called UseCase is a domain class.  That's why we call them DomainClasses in our framework.

A similar argument applies to DomainProperty - a property of a DomainClass.  "Metaproperty" would mean something like "a property whose instances are properties".

 

Published Friday, October 07, 2005 6:16 PM by Steve Cook
Filed under:

Comments

No Comments
New Comments to this post are disabled

This Blog

Syndication

News

Locations of visitors to this page
Disclaimer

The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the author’s discretion. All code samples are provided "AS IS" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.


© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker