Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez javiergs@calpoly.edu www.javiergs.info o ffi ce: 14 -227 CSC 305 Individual Software Design and Development Lecture 15. Connecting the Dots

Slide 2

Slide 2 text

Previously …

Slide 3

Slide 3 text

GoF Patterns 3

Slide 4

Slide 4 text

From an Idea B 4 Main Factory Gift Ball Box Envelop Handler Supervisor Bin ShippingStrategy Land Air

Slide 5

Slide 5 text

To A Software Design (UML Class Diagram) 5

Slide 6

Slide 6 text

Structural Quality

Slide 7

Slide 7 text

Instability • Indic a tes whether: ( a ) the item is m a inly used by others (st a ble – h a rd to ch a nge); or (b) it m a inly depends on other items (in-st a ble – ch a nge a ble). • It is a v a lue between 0 a nd 1: • 0 only incoming dependencies to • 1 (only outgoing dependencies). 7

Slide 8

Slide 8 text

Distance 8 Abstract Concrete Stable Hard to Change Only incoming dependencies Unstable Changeable Only outgoing dependencies the m ain sequence Painful Useless 0 1 1 0 Instability Abstractness

Slide 9

Slide 9 text

Connecting the Dots

Slide 10

Slide 10 text

To Code 10

Slide 11

Slide 11 text

Factory 11

Slide 12

Slide 12 text

Chain of Responsibilities 12

Slide 13

Slide 13 text

Decorator 13

Slide 14

Slide 14 text

Decorator 14

Slide 15

Slide 15 text

Observer 15

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

Bin 17 In main: In ConcreteHandlerWithBox: In ConcreteHandlerWithEnvelop:

Slide 18

Slide 18 text

One More Thing

Slide 19

Slide 19 text

Idea 2 19 Main Factory Gift Ball Box Envelop Handler Supervisor Bin GUI

Slide 20

Slide 20 text

Idea 2 20

Slide 21

Slide 21 text

Idea 2 :: the GUI elements 21

Slide 22

Slide 22 text

Idea 2 :: Listener 22

Slide 23

Slide 23 text

Idea 2 23 Main Factory Gift Ball Box Envelop Handler Supervisor Bin GUI

Slide 24

Slide 24 text

Questions 24

Slide 25

Slide 25 text

Assignment

Slide 26

Slide 26 text

Patterns in a Fantasy Quest 26

Slide 27

Slide 27 text

CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D. javiergs@calpoly.edu Winter 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.