Talks on Gang-of-Four Design Patterns: Mediator, Observer, Javabeans, Model-View-Controller, Command, Template Method, Strategy and Null Object, Composite and Visitor, Factory Method, Abstract Factory and Builder
The following are brown-bag lunch talks I gave on Design Patterns at the Johns Hopkins Applied Physics Lab. This is an ongoing series and this page will be updated with new lectures over time
Videos
Youtube playlist with all videos: Design Patterns Playlist
Video License
Design Patterns Brown-Bag Series by Scott Stanchfield is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States License.
Feel free to watch the videos and point friends to them, but you cannot use them as part of any commercial product nor can you create derivative works. Follow the link above to see the complete license text.
Note that all sample code for this series is stored on github as git repositories. Each step in the lectures is tagged with STEP1, STEP2, etc. Code may be browsed on github or cloned.
Session 1 - Introduction, Naive GUI, Mediator
Sample Code: https://github.com/javadude/patterns.session1.git
Session 2 - Observer, Javabeans
Sample Code: https://github.com/javadude/patterns.session2.git
Session 3 - Model-View-Controller
Sample Code: https://github.com/javadude/patterns.session3.git
Session 4 - Command
Sample Code: https://github.com/javadude/patterns.session4.git
Session 5 - Template Method, Strategy and Null Object
Sample Code: https://github.com/javadude/patterns.session5.git
Session 6 - Composite and Visitor
Sample Code: https://github.com/javadude/patterns.session6.git
Session 7 - Factory Method, Abstract Factory and Builder
Sample Code: https://github.com/javadude/patterns.session7.git
Software License
All code is licensed under Apache 2 http://www.apache.org/licenses/LICENSE-2.0
Copyright 2015 Scott Stanchfield
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.