Presentation is loading. Please wait.

Presentation is loading. Please wait.

About the Author A Lifetime of Software Development Started Writing Code at Age 11 Programming Summer Camp at Age 12 Writing Code Ever Since At Age 25,

Similar presentations


Presentation on theme: "About the Author A Lifetime of Software Development Started Writing Code at Age 11 Programming Summer Camp at Age 12 Writing Code Ever Since At Age 25,"— Presentation transcript:

1 About the Author A Lifetime of Software Development Started Writing Code at Age 11 Programming Summer Camp at Age 12 Writing Code Ever Since At Age 25, Realized People Pay For This A Lifetime of Hacking Welding; MIG, TIG, and Gas Metal Machining Circuit Hacking Woodworking, Plumbing, Electrical

2 Patterns An Easier Way to Think About Common Software Designs This presentation is licensed under a Creative Commons License.

3 The Carburetor Pattern The thing between the air filter and the intake manifold that mixes fuel and air and regulates the flow of the air/fuel mixture. This presentation is licensed under a Creative Commons License.

4 The Carburetor Pattern Holley Street/Strip 750 CFM Four Barrel Carb This presentation is licensed under a Creative Commons License.

5 The Carburetor Pattern Carburetor This presentation is licensed under a Creative Commons License.

6 The Facade Pattern The class between the client and the backend classes that hides the complexity of the backend classes to make it easier for the client to use the backend classes. This presentation is licensed under a Creative Commons License.

7 The Facade Pattern galaxy.framework.model.domain.util.PersistenceHelper This presentation is licensed under a Creative Commons License.

8 The Facade Pattern Facade This presentation is licensed under a Creative Commons License.

9 Patterns are Platform Independent Since you're not thinking about implementation details, patterns are independent of any particular platform or programming language. This presentation is licensed under a Creative Commons License.

10 The Bumper Pattern This presentation is licensed under a Creative Commons License.

11 The Bumper Pattern The bumper pattern is platform independent. This presentation is licensed under a Creative Commons License.

12 Patterns Simplify Communication Patterns make it easier to think about, design, and talk about software. This presentation is licensed under a Creative Commons License.

13 The Collection Pattern Intent How do you model a one to many relationship? Solution 1. Make a Collection Object 2. Usually encapsulates a linked list or queue 3. May be ordered or unordered Consequences * Usually used to implement uni-directional relationships * Most common form of Relationship Object This presentation is licensed under a Creative Commons License.

14 The Collection Pattern Two “Car Trunk” Implementations of The Collection Pattern This presentation is licensed under a Creative Commons License.

15 The Facade Pattern Intent Encapsulate a subsystem using a high-level interface, simplifying subsystem usage and hiding structural details. Solution 1. Clients communicate with subsystem objects by calling methods in Facade 2. Clients never (or as seldom as possible) directly accessing objects in subsystem -- any such access weakens the encapsulation 3. Subsystem objects usually retain no knowledge of client 4. Subsystem objects do not normally maintain any reference to Facade This presentation is licensed under a Creative Commons License.

16 The Facade Pattern The “Give Me Money” and “Start the Car” implementations of the facade pattern. This presentation is licensed under a Creative Commons License.

17 The Observer Pattern Intent Define relationship between a group of objects such that whenever one object is updated all others are notified automatically. Applicability * Changes to one object in a group requires changes to the others in the group * The number of objects in the group may vary * Loose coupling is desired between the objects in the group This presentation is licensed under a Creative Commons License.

18 The Observer Pattern The “Security Guard” implementation of the observer pattern. This presentation is licensed under a Creative Commons License.

19 Thank You You are free: * to copy, distribute, display, and perform the work. * to make derivative works. * to make commercial use of the work. Under the following conditions: Attribution: You must give the original author credit. Share Alike: If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. * For any reuse or distribution, you must make clear to others the license terms of this work. * Any of these conditions can be waived if you get permission from the author. Your fair use and other rights are in no way affected by the above. This is a human-readable summary of the Legal Code (the full license). Copyright 2003 Robert Bushman This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Download ppt "About the Author A Lifetime of Software Development Started Writing Code at Age 11 Programming Summer Camp at Age 12 Writing Code Ever Since At Age 25,"

Similar presentations


Ads by Google