The Flyweight Pattern Nik Reiman Joshua Hertz. Roadmap What is the Flyweight Pattern? UML When is Flyweight Useful? How to Use the Flyweight Pattern?

Slides:



Advertisements
Similar presentations
Reading Night Stand : Now book Next book Key- right reading level Easy Just Right Challenging.
Advertisements

CS 350 – Software Design The Bridge Pattern – Chapter 10 Most powerful pattern so far. Gang of Four Definition: Decouple an abstraction from its implementation.
WP 2 Usability Attributes Affected by Software Architecture Deliverable D2 – Usability Patterns Presenter: Robert Chatley - ICSTM.
Matt Klein. Decorator Pattern  Intent  Attach Additional responsibilities to an object by dynamically. Decorators provide a flexible alternative to.
PlanetLab Operating System support* *a work in progress.
Concepts of Database Management Seventh Edition
Unit 7 Generic Interfaces and Encapsulation, a Class in the Middle Kirk Scott.
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Plab – Tirgul 12 Design Patterns
Introduction To System Analysis and Design
Prototype8-1 Prototype CS490 Design Patterns Alex Lo, Rose-Hulman Institute May 13, 2003.
INTERPRETER Main Topics What is an Interpreter. Why should we learn about them.
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Strategy AKA Policy Dale Willey Ian Price. Overview Definitions Difference between Strategy pattern and strategy Where would you use this? Challenges.
. Plab – Tirgul 12 Design Patterns. Design Patterns u The De-Facto Book on Design Patterns:
Bridge The decoupling of abstraction and implementation.
Flyweight An Object Structural Design Pattern JM Imbrescia.
Software Design & Documentation – Design Pattern: Command Design Pattern: Command Christopher Lacey September 15, 2003.
Factory Method Joey Richey Kevin Gorski. Definition Allows a class developer define the interface for creating an object while retaining control of which.
Chapter 8, Object Design Introduction to Design Patterns
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
The State Pattern Joshua Hertz Nik Reiman. Roadmap What is the State Pattern What is the State Pattern Modeling States Modeling States Setup of the State.
Patterns – Day 6 Adapter continued Reminders: Faculty candidate talk today 4:20 PM O-167. No class next Tuesday. Course newsgroup: rhit.cs.patterns.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Abstract Factory Doug Jeffries Tom Schneider CS490 Design Patterns April 3, 2003.
Visitor Matt G. Ellis. Intent Metsker: Let developers define a new operation for a hierarchy without changing the hierarchy classes. GoF: Represent an.
Application of UML for Hardware Design Based on Design Process Model By Robertas Damasevicius, Vytautas Stuikys Presented by Matt Roth.
P247. Figure 9-1 p248 Figure 9-2 p251 p251 Figure 9-3 p253.
Katie C. O’Shea Dennis T. Tillman 11 February 2K2 Flyweight.
A My Name is Alice We will look at this book as writers, thinking about how the author put it together. What are some things that make this book fun to.
Design Patterns in Java Chapter 18 Prototype Summary prepared by Kirk Scott 1.
Chapter 13 (Online): Object-Oriented Databases
Avro Apache Course: Distributed class Student ID: AM Name: Azzaya Galbazar
Design Dan Fleck CS 421 George Mason University. What is the design phase? Analysis phase describes what the system should do Analysis has provided a.
Design Patterns in Java Chapter 13 Flyweight Summary prepared by Kirk Scott 1.
Introduction To System Analysis and Design
Design Patterns in Java Chapter 1 Introduction Summary prepared by Kirk Scott 1.
Some of the best books of  &mid= A23D2FC75CD A23D2FC75CD7.
Data Structures and Abstractions with Java, 4e Frank Carrano
Multiprocessor and Real-Time Scheduling Chapter 10.
Architectural Design Identifying system components and their interfaces.
Strategy Design Patterns CS 590L - Sushil Puradkar.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
CSE 432: Design Patterns Introduction What’s a Pattern? What’s an Idiom? According to Alexander, a pattern: –Describes a recurring problem –Describes the.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns V More Structural Patterns.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
DESIGN PATTERNS COMMONLY USED PATTERNS What is a design pattern ? Defining certain rules to tackle a particular kind of problem in software development.
Design Patterns By Mareck Kortylevitch and Piotreck Ratchinsky.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Rose Kennedy ST3.  Definition of learning disabilities  Mental capacity act  Tips for consultations  Resources to use.
The Flyweight Pattern (Structural) ©SoftMoore ConsultingSlide 1.
Design Patterns: Structural Design Patterns General and reusable solutions to common problems in software design Software University
Build each figure then sketch it in your comp book. Write the AREA for each A = _________________ x² + 2x + 2 2x + 3 x² + 2x + 2.
Useability testing Software Development Unit 4 Outcome 1.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
A Just Right Book How Do I Know? Help!!! Too Easy You have read the book a lot. You understand the story very well. You know all or almost all the words.
Chapter 12: Support for Object- Oriented Programming Lecture # 18.
Presented By:- Himanshu Rajkiran Sudipta.  History  Introduction  System Specification(H/W & S/W)  Feasibility Study  Entity-Relationship Diagram.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
1 Lecture Material Design Patterns Visitor Client-Server Factory Singleton.
Summary prepared by Kirk Scott
Selected topic in computer science (1)
Software Design and Architecture
CS 641 – Requirements Engineering
CS 641 – Requirements Engineering
Object Pool Pattern 1.
Decorator Intent Also known as Wrapper Example: a Text Window
Flyweight Pattern 1.
Lists Chapter 8.
Presentation transcript:

The Flyweight Pattern Nik Reiman Joshua Hertz

Roadmap What is the Flyweight Pattern? UML When is Flyweight Useful? How to Use the Flyweight Pattern?

What is the Flyweight Pattern? As Defined By the Gang of 4 –Use Sharing to support large numbers of Fine-Grained objects efficiently. As Defined By Metsker –The Flyweight Pattern addresses sharing, relying on an objects ability to be responsible to more then one client.

A More Usable Definition Specifies a commonality among many objects Acts as independent object in each context Helps to share information among objects

UML Example

When is a Flyweight useful? Lots of small objects with a common inheritance –Word processor –Online book Independent central class

How to use Flyweight Extract the immutable part of central class Make this information static Provide this information to an arbitrary number of client objects

Example of Flyweight at Oozinoz (figure 13.2)

The Challenges The challenges are overly confusing (to us anyway). It’s worth your time to try them though.

Questions?