“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.
Many more patterns like this are presented during this course.
How patterns are used together – most people are surprised when shown how patterns can be combined. We will look at the notion of “roles” in classes and look at diagramming techniques for showing overlapping patterns in UML diagrams.
Design Pattern Software - A presentation of a couple of UML design patterns tools for windows including Sparx Enterprise Architect and IBM Rationale Rose.
Discussion - Current research directions and the future of patterns (both theoretical and tools). Classic and cutting edge books and ideas are discussed (time permitting).
After completing this course, students will know how to:
· Describe the history of patterns development.
· Appreciate the benefits of a patterns approach to programming design.
· Describe the detailed design, purpose and behaviour of 20 of the original GOF design patterns.
· Communicate with other developers using the language of patterns.
· Use design patterns to improve the design of new and existing software.
· Implement various patterns in various programming languages.
· Combine different patterns so that they work together in a software design
· Understand some of the design patterns contained in such frameworks as.NET and Java
· Choose from a variety of UML tools which automate the application of patterns
Attendees should have:
· An Understanding of object oriented programming techniques
· Experience with an object-oriented programming language such as Java or C#
· Some exposure to UML diagramming models.
The 2 day course can only cover 2/3rds of the total 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
What are Patterns?
The GOF patterns
The Use of UML
Relationships between patterns
When to use patterns & when not to
Patterns: General Issues
Reading a pattern
Intent, applicability, forces of patterns
Solutions & Consequences
Implementation issues - language specific
Re-factoring of patterns
Chain of Responsibility
Patterns in Frameworks
Automating patterns - tools
The future of patterns
About the Trainer:
Andy Bulka is Technical Director and Chief Software Architect at Austhink Software www.austhink.com. He has been programming for over 25 years, and has applied design patterns to numerous real world applications including windows desktop applications, web sites and even a commercial computer game.
Andy has been teaching design patterns for four years, running three day workshops covering all the 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 www.atug.com/andypatterns.
Design Patterns Training
WindowWare Multimedia ABN 75 565 207 060
12 Melview Drive
Wyndham Vale VIC 3024
Phone: 0412 759 186