Design and Programming Patterns Associated with Java Networking by Margaret Toews cs843, Spring 2003.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Design Patterns in Web Programming Nathan Wallace March 2000 Introduction About Me Why listen to me? What am I talking about? Disclaimer Design Patterns.
March Ron McFadyen1 Design Patterns In software engineering, a design pattern is a generally repeatable solution to a commonly-occurring problem.
(c) 2009 University of California, Irvine – André van der Hoek1June 13, 2015 – 21:42:16 Informatics 122 Software Design II Lecture 8 André van der Hoek.
Dept. of Computer Engineering, Amirkabir University of Tech. 1 Design Patterns Dr. Noorhosseini Introduction.
Introduction to Design Patterns (1). “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software.
March Ron McFadyen1 Design Patterns In software engineering, a design pattern is a generally repeatable solution to a commonly-occurring problem.
Ralph Johnson - University of Illinois1 Patterns: What They Are, and How to Write Them Ralph Johnson University of Illinois at Urbana-Champaign
Spring 2010CS 2251 Design Patterns. Spring 2010CS 2252 What is a Design Pattern? "a general reusable solution to a commonly occurring problem in software.
Design Patterns William A. Hoffman NYU OOP Class.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Design Patterns Part IV (TIC++V2:C10) Yingcai Xiao 10/01/08.
(c) 2010 University of California, Irvine – André van der Hoek1June 29, 2015 – 08:55:05 Informatics 122 Software Design II Lecture 8 André van der Hoek.
Pedagogical Patterns: their Place in the Genre Sally Fincher & Ian Utting ITiCSE 2002 Aarhus, Denmark June 2002.
PRESENTED BY SANGEETA MEHTA EECS810 UNIVERSITY OF KANSAS OCTOBER 2008 Design Patterns.
Introduction to software design patterns For CSE 3902 By: Matt Boggus.
Design Patterns Discussion of pages: xi-11 Sections: Preface, Forward, Chapter
Design Patterns Trends and Case Study John Hurst June 2005.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 11 Reality Check: Java Programming in the Real World.
Session 05: C# Patterns Algorithm Patterns: Sweep Search FEN AK IT: Softwarekonstruktion.
1 Copyright © 2014 Atego. Patterns INCOSE MBSE WG – Simon A. Perry - Atego.
Design patterns. What is a design pattern? Christopher Alexander: «The pattern describes a problem which again and again occurs in the work, as well as.
Patterns 1 Patterns in OO - history 77 - Work of the architect Christopher Alexander 80s - Kent Beck playing with Smalltalk 91 - Gamma’s PhD thesis on.
Introduction to Design Patterns (1). Definition: “ In software engineering, a design pattern is a general reusable solution to a commonly occurring problem.
05 - Patterns Intro.CSC4071 Design Patterns Designing good and reusable OO software is hard. –Mix of specific + general –Impossible to get it right the.
Sakai UI Design Patterns Design Patterns WG: Marc Brierley, Colin Clark, Kathy Moore, Daphne Ogle, Judy Stern, (also Tim Archer, Kristol Hancock)
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Advanced topics in software engineering CSC532 Term Paper Design Patterns Harpreet Singh Submitted By:-
Unified Modeling Language, Version 2.0
January 12, Introduction to Design Patterns Tim Burke References: –Gamma, Erich, et. al. (AKA, The Gang of Four). Design Patterns: Elements of Reusable.
A Reference Model for Event Patterns Christian Silberbauer
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012.
Object-Oriented Design Principles and Patterns. © 2005, James R. Vallino2 How Do You Design? What principles guide you when you create a design? What.
Design Patterns Introduction General and reusable solutions to common problems in software design SoftUni Team Software University
ECE450S – Software Engineering II
1 A Brief Introduction to Design Patterns Based on materials from Doug Schmidt 1.
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
CS616: Software Engineering Spring 2009 Design Patterns Sami Taha.
Security Patterns Template and Tutorial - Darrell M. Kienzle, Ph.D., Matthew C. Elder, Ph.D., David S. Tyree, James Edwards-Hewitt Presented by Dan Frohlich.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas -A large element is use of UML as.
Design Patterns References: Xiaoping Jia, Object-Oriented Software Development Using Java;Douglas C.Schmidt, Design Pattern Case Studies with C++
Design Patterns Introduction
Software Design Patterns in Test Automation
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
Duke CPS CPS 108, Spring 1998 l Software Design and Implementation ä Object oriented programming and design ä good design helps do away with late.
Sakai UI Design Patterns Design Patterns WG 12-Jun-2007, 14:05 Marc Brierley.
1 Good Object-Oriented Design Dr. Radu Marinescu Lecture 4 Introduction to Design Patterns.
Software Design and Architecture Muhammad Nasir Structural Design Patterns
Design Patterns CSCE 315 – Programming Studio Spring 2013.
GRASP – Designing Objects with Responsibilities
Design Patterns: MORE Examples
COMP2110 Software Design in lecture 14 Patterns(1) /Detailed Design
Design Patterns: Brief Examples
Strategy Design Pattern
The Object-Oriented Thought Process Chapter 15
Software Design Patterns
Introduction to Design Patterns
Design Patterns Lecture part 2.
A Brief Introduction to Design Patterns
Design Patterns Introduction
Framework Presentation
Beta Release Retrospective
Patterns.
CSC 480 Software Engineering
What to Expect from Design Patterns
Informatics 122 Software Design II
Chapter 8, Design Patterns Introduction
Presentation transcript:

Design and Programming Patterns Associated with Java Networking by Margaret Toews cs843, Spring 2003

Design Patterns History Benefits Description Examples Conclusion

Design Patterns – History Late 1970’s, book by Christopher Alexander published, domain – architectural design patterns 1987, OOPSLA conference, paper presented on design patterns in Smalltalk 1995, Design Patterns: Elements of Reusable Object-Oriented Software, published

Benefits of Design Patterns Provide a framework for naming solutions – templates provide a framework for description – give developers a vocabulary to use when collaborating Enable developers to document solutions Can build on expertise of others Can use solutions that have worked before –Rule of three

Design Pattern Template (GofF) Name Participants Classification Collaborations Intent Consequences Also Known As Implementation Motivation Sample Code Applicability Known Uses Structure Related Patterns

Template Attributes Name –Name –Classification –Also Known As (optional) –Intent What does this pattern do? Problem –Motivation A scenario that describes the problem –Applicability

Template Attributes (cont) Solution –Structure Can include UML or OMT diagrams –Participants List of classes and objects –Collaborations Other patterns involved –Implementation –Sample Code –Known Uses –Related Patterns

Template Attributes (cont) Consequences –Consequences Trade offs – often in flexibility, portability

Classification of Design Patterns

Problem: High Communication Overhead Solution Request data more efficiently –use Fast Lane Reader Pattern Make fewer remote method calls –use Half-Object Plus Protocol

Fast Lane Reader Pattern Motivation –Using EJB to implement a catalog of services for a financial services company –Customer wants to browse list of available online services Problem –High overhead to use EJB for read-only listing Possible solution –Avoid EJB, use direct access

Fast Lane Reader Pattern

Half-Object Plus Protocol Pattern Motivation –Using RMI to implement a Voting Services application Problem –Part of functionality should execute remotely, part locally Want to avoid using remote method calls for login Possible Solution –Split object and use a proxy to communicate between the two parts

Half-Object Plus Protocol

Conclusion Design patterns enable developers to build on solutions that have already been created. “Each pattern describes a problem that occurs over and over again in our environment and then describes the core of the solution to that problem in such a way that you can use this solutions a million times over without ever doing it the same way twice.” - Christopher Alexander