Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 17 Designing with Responsibilities. Fig. 17.1.

Similar presentations


Presentation on theme: "Chapter 17 Designing with Responsibilities. Fig. 17.1."— Presentation transcript:

1 Chapter 17 Designing with Responsibilities

2 Fig. 17.1

3 OOD Requirements Domain model Then: –Define classes –Add methods to classes –Define messaging Simple! RIGHT? - NOT

4 RDD Responsibility - contract or obligation of a class Doing- –Doing something itself –Initiate an action in another object –Control or coordinate Knowing- –Private data –Related objects –Things it can calculate

5 Fig. 17.2

6 GRASP 9 patterns, first 5 in this chapter: –Creator –Information expert –Low coupling –Controller –High cohesion

7 Creator Problem: Who creates A? Solution: Assign creation to B –IF: B contains (compositely aggregates) A B records A B closely uses A B has initializing data for A

8

9 Fig. 17.4 apply Creator

10 Fig. 17.5 Apply Creator

11 Information Expert Problem: Assign a responsibility to an object? Solution: Choose the class that has the information to fulfill the responsibility

12 Fig. 17.6

13 Low Coupling Problem: Reduce impact of change Solution: Keep coupling low!

14 Fig. 17.7

15 Controller Problem: What object beyond UI controls a system operation Solution: Assign responibility to object –If Overall “system”, “root object”, device that the software runs in, major subsystem Represents a use case scenario within which the operation occurs

16 Fig. 17.8 SSD

17 Fig. 17.9

18 Fig. 17.10

19 Next Steps Applied controller pattern Now what goes beyond the :MonoployGame class?

20 High cohesion Problem: Keep objects focused, understandable, manageable (side effect support low coupling) Solution: assign responsibilities to improve cohesion

21 Fig. 17.11

22 GRASP General Responsibility Assignment Software Patterns We just did 5 of 9 There rest are in Chapter 25 –Polymorphism, Pure Fabrication, Indirection, Protected Variations


Download ppt "Chapter 17 Designing with Responsibilities. Fig. 17.1."

Similar presentations


Ads by Google