Using Design Patterns In Real Projects

  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Using Design Patterns In Real Projects as PDF for free.

More details

  • Words: 613
  • Pages: 26
Using Design Patterns in Real Projects -Andy Bulka 2002 http://www.andypatterns.com

Using Patterns in Real Projects • What is it like to use design pattern in real life programming? • Do the sometimes academic patterns translate into the real world? • The answer is yes – I will back this up with three examples of where I have used patterns in real world projects.

Overview • Patterns - Definitions • Patterns Example • My personal definition and approach to patterns • Commercial Projects using patterns • Patterns I have written • Links, Patterns Groups in Australia

What are Patterns? • Patterns are conventions for describing and documenting recurring design decisions within a given context, in software design & engineering. • A problem/solution pair given a standard name. • A pattern is documented using a standard format which includes a sample UML diagram of a typical solution.

Example - Adapter Pattern

• Convert the interface of a class into another interface clients expect. • Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.

Adapter - two solutions Adapter comes in two variants; one making use of delegation:

and one based on multiple inheritance

Design Patterns Book The "Bible" of Design Patterns

Pattern Format • • • • • • •

Pattern templates typically contain: Name Intent / Motivation Problem Context & Forces Solution Consequences

To Record Experience...

Anecdote - working alone...

To Share Experience...

Personally I think Patterns are • Share and document experience • Great as a vocabulary between programmers and design tool • Like problem / solution pairs • Just a name for a new „thick/non-obvious‟ concept? A „distinction‟. • Later patterns become common terms.

Commercial Projects Educational Reasoning Software Payroll System War Game

Reason 2 - Melb University • • • •

Mentor in Delphi & OO Patterns where possible Model - „cauldron of creation‟. Composite. Command, Template, Strategy for persistence, Adaptor incl. delegation via a pointer “this is an important idiom” • Model View Controller variation MGM. Hooking up a standard Windows GUI treeview to model.

Reason 2 - UML There are several design patterns in this UML diagram. P.S. In later years I became interested in how to explicitly represent patterns in UML diagrams..

Reason!Able www.goreason.com

Game - 2D wargame • • • • • •

Python SDL graphics (pyGame) Single and Multiplayer over internet Game AI Lots of pieces Moving Scrolling map

Game - Preparation • Starting a new project in a new domain - I wanted to know what best practices were. • “Game patterns” on the web documented best practices, tips and tricks and useful rules of thumb and mini designs. • Melb Patterns Group presentation • Patterns used so far - MVC, Façade, Singleton, MGM, Mediator, RM, TI, Null Object, Adaptor, Strategy, Observer, State.

Game Patterns as UML

Game so far

Game Gems & AI Wisdom book • Patterns vs. “Gems” • Patterns vs. “Problem / Solution pairs” • Still talk about forces and consequences and trade-offs, though not as formal section headings. • Some sections not strictly suited to being a pattern, instead they talk about optimisations or more specific issues.

Payroll System • Delphi project • Experienced content expert • Was a payroll patterns paper at KoalaPlop 2002 • See also “Business Modelling in UML” by Eriksson & Penker - “Business Patterns at Work”. • Transformation Interface Pattern (Gui and DB versions)

Australian Patterns Conference

Venue The Country Place Conference Centre Location: The Dandenongs International visitors

Patterns I have written for the conference • Model Gui Mediator • Relationship Manager • Transformation Interface

See www.andypatterns.com

Plop Conference Proceedings

Links • KoalaPLoP is hosted in Melbourne http://www.mcs.vuw.ac.nz/~kplop

• Melbourne Patterns Group http://www.melbournepatterns.org

Related Documents