Figures

2.1 Decorator’s usual example UML.

2.2 Objectifier as UML.

2.3 Object Recursion as UML.

2.4 A simple method call as UML.

2.5 The parts of a method call.

2.6 A simple design space.

2.7 A simple design space with EDPs.

2.8 Our first four EDPs.

2.9 The design space extended to three dimensions.

2.10 The design space with method similarity fixed to similar.

2.11 Recursion Example UML.

2.12 Deputized Redirection example UML.

3.1 UML collaboration diagram.

3.2 Strategy as pattern:role tags in UML.

3.3 Huge UML of a not-so-huge system.

3.4 Multiple instances of Strategy as pattern:role tags in UML.

3.5 Collapsed PINbox.

3.6 Collapsed PINbox as annotation.

3.7 Singleton and Abstract Factory in class diagram.

3.8 Template Method in sequence diagram.

3.9 Standard PINbox.

3.10 PIN used with UML class diagram.

3.11 PIN used with UML sequence diagram.

3.12 Standard PIN role connections.

3.13 Blank expanded PIN instance.

3.14 Expanded PIN instance.

3.15 Expanded PIN instance using UML.

3.16 A need for multiple related PINboxes.

3.17 Stacked PINbox.

3.18 Multiple Strategy instances as PINboxes.

3.19 Showing the interaction between multiple Strategy PINboxes.

3.20 Abstract Factory as part of a larger UML diagram.

3.21 Abstract Factory subsumed within the expanded PINbox.

3.22 Coalesced PINbox.

4.1 Abstract Interface and Inheritance EDPs as UML.

4.2 Internal definition of Fulfill Method as UML.

4.3 Fulfill Method as simple connected PINboxes.

4.4 Fulfill Method as expanded PINbox.

4.5 Fulfill Method as standard PINbox.

4.6 Flipping our EDPs in Fulfill Method—oops.

4.7 Flipped EDPs as PINboxes.

4.8 Alternative classes that can fulfill an Abstract Interface EDP.

4.9 Alternative structures that can fulfill an Inheritance EDP.

4.10 Decorator’s usual example UML.

4.11 Fulfill Method definition as annotated UML.

4.12 Objectifier UML annotated with PIN.

4.13 Objectifier and Trusted Redirection.

4.14 Object Recursion annotated with PIN.

4.15 Object Recursion as just PIN.

4.16 Object Recursion and Extend Method.

4.17 Decorator annotated with PIN.

4.18 Decorator as PIN.

4.19 Decorator instance as a PINbox.

4.20 Expanding Decorator: one level.

4.21 Expanding Decorator: two levels.

4.22 Expanding Decorator: three levels.

4.23 Expanding Decorator: four levels.

4.24 Delegation before Rename Method refactoring.

4.25 Delegation after Rename Method refactoring—Redirection.

4.26 Delegation before Move Method refactoring.

4.27 The design space with method similarity fixed to dissimilar.

4.28 Delegation after Move Method refactoring: boring case.

4.29 Delegation after Move Method refactoring: into same type.

4.30 Delegation after Move Method refactoring: Delegated Conglomeration.

4.31 Delegation after Move Method refactoring: Conglomeration.

4.32 Delegation after Move Method refactoring: Trusted Delegation.

4.33 Delegation after Move Method refactoring: Revert Method.

4.34 Delegation after Move Method refactoring: Deputized Delegation.

4.35 Summarizing refactoring effects so far.

4.36 Implicit used-by relationships among the EDPs and selected other patterns.

4.37 The full method-call EDP design space: dissimilar method.

4.38 The full method-call EDP design space: similar method.

4.39 Method-call EDP refactoring relations.

5.1 Polymorphic approach

5.2 Subclassing approach

5.3 UI class cluster showing an instance of Trusted Delegation.

5.4 UI class cluster showing an instance of Trusted Redirection.

5.5 UI class cluster showing an instance of Deputized Delegation.

5.6 UI class cluster showing an instance of Deputized Redirection.

7.1 Abstract Factory subsumed within the expanded PINbox.

7.2 Reducing the diagram to just one instance of Abstract Factory.

7.3 Simplifying Figure 7.2.

7.4 Abstract Factory as PIN only.

7.5 Factory Method subsumed within the expanded PINbox.

7.6 Factory Method as PIN only.

7.7 Decorator subsumed with the expanded PINbox.

7.8 Decorator as PIN only.

7.9 Decorator expanded three levels deep and flattened.

7.10 Proxy subsumed with the expanded PINbox.

7.11 Proxy as PIN only.

7.12 Proxy PIN reorganized to better match Decorator.

7.13 Chain of Responsibility subsumed within the expanded PINbox.

7.14 Chain of Responsibility as PIN only.

7.15 Template Method subsumed within the expanded PINbox.

7.16 Template Method reduced to a single instance.

7.17 Template Method as PIN only.

7.18 Template Method PIN reorganized to better match Decorator.

7.19 Factory Method redefined using Template Method.

A.1 The full method call EDP design space: similar method.

A.2 The full method call EDP design space: dissimilar method.

A.3 Standard PINbox

A.4 Expanded PIN instance

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.117.158.165