HIT 2020Spring Software Construction 0327

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.
Example
ExampleI 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.

发布了10 篇原创文章 · 获赞 0 · 访问量 225

猜你喜欢

转载自blog.csdn.net/TroyHorse/article/details/105142888