Operations of an Abstract Type
Creators will create new objects, we can think it as a constructor;
Producers create new objects from old objects of the type;
Observers will give out the situation of the abstract type;
Mutators will change objects, it is the only kind of operations to change objects;
In the exam, we may be asked to distinguish these operations; Creators are similar with Producers, but if we think Creators as constructors the difference may be explicit.
Rep Invariant and Abstraction Function
Abstraction Function is a map from the represent value to the abstract value while Rep Invariant indicates which represent value is valid (has a mapping value).
Actually, Rep Invariant always describe which represent is invalid and this status should always be true during the program. Abstraction Function describes the actual meaning of the represents and that is how client look at the program.
I think it is an excellent instance for the definition.
Establish Invariants
Three keys to prove invariants:
No representation exposure occurs; No others could change objects in their mind;
Established by creators and producers; Keep invariant when creating a new object;
Preserved by mutators and observers; Keep invariant when changing objects;
It is only a post for what I want to record for the specific course and it does not stand for the whole content.