-
Notifications
You must be signed in to change notification settings - Fork 0
Home
nikitachebotarev edited this page Aug 19, 2020
·
2 revisions
- Information expert (Using the principle of information expert, a general approach to assigning responsibilities is to look at a given responsibility, determine the information needed to fulfill it, and then determine where that information is stored.)
- Creator (In general, Assign class B the responsibility to create object A if one, or preferably more, of the following apply: Instances of B contain or compositely aggregate instances of A Instances of B record instances of A Instances of B closely use instances of A Instances of B have the initializing information for instances of A and pass it on creation.)
- Controller (The controller pattern assigns the responsibility of dealing with system events to a non-UI class that represents the overall system or a use case scenario. A controller object is a non-user interface object responsible for receiving or handling a system event.)
- Inderection (The indirection pattern supports low coupling and reuses potential between two elements by assigning the responsibility of mediation between them to an intermediate object.)
- Low coupling (lower dependency between the classes, change in one class having a lower impact on other classes, higher reuse potential.)
- High cohesion (High cohesion is an evaluative pattern that attempts to keep objects appropriately focused, manageable and understandable.)
- Polymorphism (The user of the type should use polymorphic operations instead of explicit branching based on type.)
- Protected variations ( Identify points of predicted variation or instability;)
- Pure fabrication (A pure fabrication is a class that does not represent a concept in the problem domain, specially made up to achieve low coupling, high cohesion.)