OO Design Patterns with Java


Mark Mahoney

These playbacks introduce the reader to some of the most useful object-oriented design patterns. I will use Java to build an example of each pattern. I am assuming the reader has programming experience in Java. In particular, the reader should be (at least somewhat) familiar with inheritance and polymorphism. These design patterns really show the power of inheritance and polymorphism so if you are just learning about them this is a great opportunity to dig deeper.

What if you are interested in learning about design patterns but are not a Java programmer? If you are familiar with any OO language you will probably get a lot out of this book. Give it a shot!

If you'd like to stay connected and get updates when I add new playbacks you can follow me on twitter: @markm208.

1.1 **Strategy Pattern** Adjusting Grades in a Course
1.2 **Singleton Pattern** A Testable Random Number Class
1.3 **Composite Pattern** Displaying a Hierarchical File System
1.4 **Decorator Pattern** Logging with Decorators
1.5 **State Pattern** String Splitting for Search Bars
1.6 **Observer Pattern** Observing the Time Change
1.7 **Proxy Pattern** Dealing Cards from a Remote Deck
1.8 **Factory Pattern** Getting Help in Mac and Windows
1.9 **Visitor Pattern** Adding Functionality to a Hierarchy of Classes (File and Directory)