Classifier
Term |
Classifier |
Aliases |
- |
Identity
-
Term ID:
src/main/doxsite/glossary/object-foundation/classifier.dox -
English label: Classifier
-
Japanese label: 分類子
-
Category: Object Foundation
-
Status: normative
-
Definition authority: SimpleModeling BoK, aligned with UML 2.5.1
DEFINITION
A Classifier is a Type that classifies Instances according to common Features and specifies structural or behavioral characteristics that those Instances may have. SimpleModeling uses it as a common general concept for Class, Interface, Trait, Data Type, and related elements.
UML
In UML 2.5.1, Classifier specializes Type and generalizes Class, Interface, DataType, and related concepts. A SimpleModeling Trait is not a standard UML Classifier kind; it is a SimpleModeling Model Element that extends the classification model. In a UML Profile mapping, it is represented by default as an abstract Class carrying a «trait» stereotype.
Object-Functional Paradigm
Classifier is used to explain object-side classification structures precisely. Not every Object-Functional Type, such as a function type, union type, intersection type, or type lambda, is treated as a Classifier.
CML
CML uses concrete Object kinds such as Entity, Value, Trait, Powertype, and StateMachine. Classifier is a metamodel-level supporting term for explaining their common classification role and need not appear explicitly in ordinary Domain Model descriptions.
Scala
Scala has no single language construct that maps one-to-one to UML Classifier. Classes, traits, enums, and related declarations introduce Types that classify instances or values, but not every Scala Type is a UML Classifier.
Public Usage
The canonical Japanese display is 分類子(Classifier). Introductory Object Modeling material explains Class, Interface, Trait, and Data Type directly and introduces Classifier only when the UML relationship to Type must be stated precisely. The hierarchy statement "a Classifier classifies Instances and a Class classifies Objects" does not replace the main explanation of Class and Type.
Boundary
-
Classifier is not synonymous with Class. Class is one kind of Classifier.
-
Classifier is not synonymous with Type as a whole.
-
A SimpleModeling Trait is not treated as a standard UML Classifier kind.
-
A Classifier is not a runtime Object Instance.