Book these courses for your company and elevate the effectiveness of your entire programming team. Consulting and Mentoring is also available. Contact Andy for availability.
Code: IM500-020
Series: Computer Professional
Duration: 2-3 days
Location: Onsite (your location within Australia (or ask))
Cost: $ Email for pricing for up to 6 people - per day. $220 per extra person - max 10 people. Plus GST.
Room: Trainer requires a whiteboard, projector. Computers for attendees are not needed.
Course materials: Are supplied (approx 320 pages) - option for client to print and bind if that is more convenient. Contains code examples, whiteboard screenshots, tips, UML diagrams, advanced discussions etc.
The front cover of the comprehensive training materials supplied during this course.
![]() ![]() ![]() |
Sample pages from the course manual. |
This course provides students with the necessary knowledge and skills required to understand and use the fundamental 23 design patterns as outlined in the classic book “Design Patterns”. Participants will be able to use the vocabulary of patterns to communicate to software engineers in order to design superior, maintainable, cutting edge software.
A brief history of design patterns - the patterns movement, how the GOF book was created, why a knowledge of design patterns is crucial to today’s software developers. Where did patterns come from, what is the role of Christopher Alexander. Who are the key patterns people around the world. How has Australia been involved in the world patterns conference scene.
Detailed presentations of 20 design patterns: including: state, strategy, adapter, mediator, template method, bridge, factory + more.
“State Pattern” can get rid of lots of if/else spaghetti code
“Strategy Pattern” can make your application more pluggable.
“Adapter” is one of the most important fundamental patterns.
“Mediator Pattern” can reduce coupling between classes and reduce complexity.
Understanding the “Template Method Pattern” requires that you know your object oriented principles and can make your code base more organized.
“Bridge Pattern” is a little complex but once you have invested in it, allows you to switch implementations with a single switch.
The factory patterns (“Factory Method” and “Abstract Factory”) are core patterns relating to the creation of instances of your classes.
Many more patterns like this are presented during this course. Also covered are topics like:
After completing this course, students will know how to:
Attendees should have:
The 2 day course can only cover 2/3rds of thetotal material in this sheet. As such only approximately 12 patterns can be covered, and some topics like architectural patterns, uml automation tools etc cannot be covered. However attendees can to some extent customize the course content within the time constraints. The 3rd day of the course can be delivered at a later stage as a one day “top up” course.
Introduction to Patterns
|
Patterns: General Issues
|
|
Creational PatternsAbstract Factory Builder Factory Method Prototype Singleton |
Structural PatternsAdapter Bridge Composite Decorator Facade Flyweight Proxy Null Object |
Behavioral PatternsChain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor |
Architectural PatternsLayers Blackboard Reactor Model-View-Controller |
Patterns in FrameworksJava .NET |
AdvancedBlending Patterns Automating patterns – UML tools and IDE's The future of patterns |
Note: Some of the advanced patterns and topics, above, are subject to time constraints and may not be covered in full. Courses can be customised to ensure you learn about the area you want.
Code: IM500-021
Series: Computer Professional
Duration: 2 days
Location: Onsite (your location within Australia (or ask))
Cost: $ Email for pricing for up to 6 people - per day. $220 per extra person - max 10 people. Plus GST.
Room: Trainer requires a whiteboard, projector. Computers for attendees are not needed.
This course is designed to be a gentler introduction to Design Patterns.
Course materials: Are supplied (approx 120 pages) - option for client to print and bind if that is more convenient. Contains code examples, whiteboard screenshots, tips, UML diagrams, advanced discussions etc.
Day 1:
Day 2:
Andy has been teaching design patterns for five years, running three day workshops covering all the 23 GOF patterns. He is an active member of Melbourne Patterns User Group giving regular presentations and talks. Andy was Local Conference Chair at the Australian Koala Plop Patterns Conference 2002, and is author of several papers on Design Patterns and Software development ? see his patterns and blog at www.andypatterns.com
Andy Bulka is principal consultant at Design Patterns Consulting and Training. Prior to that, he was Technical Director and Chief Software Architect at Austhink Software www.austhink.com for four years (2004-2008), developing world class visualisation software in C# .NET and Flex 3 using agile methodologies, design patterms and 25 years of programming experience. Prior to that, Andy has developed software in many fields - consistently applying design patterns to numerous real world applications including windows desktop applications, web sites and even a commercial computer game.
2004-2008: Trainer in Design Patterns ? running 3 day workshops covering all 23 GOF patterns. The course has been given over seven times in both Melbourne and Perth. Several jobs have been repeat courses for the same company (delivered to a different set of students).
2000-present: Active member of Melbourne Patterns User Group giving regular presentations and talks. http://melbournepatterns.org/
2002: Local Conference Chair, Koala Plop Patterns Conference, Melbourne Australia.
www.mcs.vuw.ac.nz/~kplop/aboutus.html
1999-2008: Maintain website on research into software development: www.andypatterns.com
Bulka, A. (2003). Design Pattern Automation. In Proc. Pattern Languages of Programs 2002. Revised papers from the Third Asia-Pacific Conference on Pattern Languages of Programs, (KoalaPLoP 2002), Melbourne, Australia. Conferences in Research and Practice in Information Technology, 13. Noble, J., Ed. ACS. 1.
http://crpit.com/Vol13.html
2000-2002: Three patterns conference papers which have been presented at KoalaPlop (Asian Pacific Conference on Pattern Languages of Programs) in both 2000 and 2001. My shepherds were Jim Coplien (MGM pattern), Ali Arsanjani (TI pattern) and James Noble (RM pattern). These final versions incorporate comments and reviews from the attendees of KoalaPlop 2000 and 2001.
http://www.andypatterns.com/index.php/design_patterns
van Gelder, T. J., & Bulka, A. (2000) Reason!: Improving informal reasoning skills. in Proceedings of the Australian Computers in Education Conference, Melbourne July 2000.
View
2008: Visualizing Argument Structure using Hi-Trees. Tim van Gelder, Kim Marriott (Monash University), Peter Sbarski (Monash University), Dr. Daniel Prager, Andy Bulka. Proceedings of the 4th International Symposium on Visual Computing, Las Vegas, United States.
View?
Rationale, bCisive, Hive ? World class argument visualisation software suite, www.austhink.com Architect and CTO.
Reason!Able ? Reasoning software in use in schools around the world, Programmer.
PyNSource - Python code reverse engineering utility and UML modelling tool, Programmer.
Architect, Team Leader, Lead Programmer, Hunting Tank Software, Victoria (2001 - 2004). Combat Campaign Game.
Research Logo - Developed the educational programming environment "Logo" for the Australian Microbee computer - used by Australian schools. Lead programmer of a team of three.? Wrote the manual/book Research logo : A logo programming environment, ISBN 0949309435 published by?Waitara, N.S.W. : Honeysoft Publishing Company, 1985.? Now held at The National Library of Australia.
1991-1998 ? Multimedia Toolbook programmer, developing many entertaining and effective training and educational CD titles for businesses around Australia, including
Courses can be customised to suit your needs.
Andy Bulka
Design Patterns Training and Consulting? ABN 75 565 207 060
Web: www.andypatterns.com
Email:? abulka@gmail.com
Phone: 0412 759 186