Increase encapsulation
Eliminate or at least minimize publicly accessible attributes. Refer to Attributes in UML class diagrams in
the help.
Use methods to insulate attributes from public access. Refer to Operations in UML class diagrams in the
help.
Improve construction and utility of instances
Verify that class constructors prepare the class instance for use. Refer to Operations in UML class diagrams and
Managing parameters in operations in the help.
Refine private data
Assure the proper state of the class is reflected by its attribute values. Refer to Attributes in UML class
diagrams in the help.
Eliminate multi-attribute private data encapsulated by the class. Define a new class with the components of complex
data and use that as a single attribute within a class. Refer to Classes in UML modeling and Managing
attributes and operations in classifiers in the help.
Decide if any attribute needs protection from runtime changes, e.g. a constant. Refer to Managing attributes and
operations in classifiers and Setting the multiplicity property in UML diagrams in the help.
Reduce generalization relationships
Convert generalization relationships to associations whenever possible. Define a common base class that contains the
behavioral contract for child classes to inherit. Reduce the depth of the generalization hierarchy.
Refer to Extends relationships in UML class diagrams and Association relationships in UML class
diagrams in the help.
Incorporate design patterns and implementation mechanisms
Use design patterns and mechanisms as suited to the class being refined and in accordance with project design
guidelines. Refer to Benefits of using patterns and Applying patterns to UML elements in the
help.
Resolve concurrency collisions
Protect objects accessed concurrently by different threads of execution. Refer to Setting the concurrency property
in UML class diagrams in the help.
The choice of concurrency mechanism tends to be implementation dependent. Refer to Benefits of using patterns
in the help.
General
Refer to UML class diagrams, Classes in UML modeling, Classifiers in UML class diagrams, and
Creating and populating UML class diagrams in the help for general support on performing detailed design.
|