Composite aggregates Part, Container contains Content, and Recorder records. Recorded are all very common relationships between classes in a class diagram. Creator suggests that the enclosing container or recorder class is a good candidate for the responsibility of creating the thing contained or recorded. Of course, this is only a guideline. From the book: http://authors.phptr.com/larman/uml_ooad/index.htmlWhat is this recorder? Any example would be appreciated.
What is recorded relationship in a class diagram?
design;object oriented;uml
I'm not well-versed in the GRASP object-oriented design methodology, but I read through the Wikipedia article as well a some slide decks (1, 2) about the approach. This is my understanding.One of the patterns in GRASP is the Creator Pattern. This isn't a design pattern in the sense of the Gang of Four patterns or Fowler's Patterns of Enterprise Architecture and so on. It's more of a principle or pattern. GRASP focuses on how you determine the responsibilities of a particular class in your object-oriented system.A class that is a Creator means that it builds instances of other classes. There are different contexts for creation. In a composition or aggregation relationship, the parent may be responsible for creating the parts. In classes that record data, the class that records the data (for example, reading data from files or from user input or from databases) may be responsible for creating domain elements.What this quoted paragraph is saying is, to the best of my knowledge, if you have a class that contains elements or records data, than you can consider having that class create the objects that represent its elements or data that is recorded.Note that this is just guidance, though. Something to consider when working through your design. It's not a rule that must always be applied.