Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 305 Individual Software Design and Development Lecture 10. Singleton

Slide 2

Slide 2 text

Previously

Slide 3

Slide 3 text

Scenario 1 3

Slide 4

Slide 4 text

Scenario 2 4

Slide 5

Slide 5 text

Scenario 3 5

Slide 6

Slide 6 text

Singleton

Slide 7

Slide 7 text

GoF Patterns 7

Slide 8

Slide 8 text

Singleton 8

Slide 9

Slide 9 text

Singleton class MainApp { public static void Main(String []a){ Singleton s1 = Singleton.getInstance(); Singleton s2 = Singleton.getInstance(); // Test for same instance if (s1 == s2){ // true - Objects are the same instance } } } 9

Slide 10

Slide 10 text

Singleton class Singleton{ private static Singleton _instance; private Singleton() {} public static Singleton getInstance(){ if (_instance == null){ _instance = new Singleton(); } return _instance; } } 10

Slide 11

Slide 11 text

Test Yourselves

Slide 12

Slide 12 text

Lab 12

Slide 13

Slide 13 text

Blueprint 13 M a in Dr a wAre a Dr a wAre a Listener Repository

Slide 14

Slide 14 text

Main 14

Slide 15

Slide 15 text

DrawArea 15

Slide 16

Slide 16 text

DrawAreaListener 16

Slide 17

Slide 17 text

Repository 17

Slide 18

Slide 18 text

Lab 18

Slide 19

Slide 19 text

Test Yourselves 19

Slide 20

Slide 20 text

Questions 20

Slide 21

Slide 21 text

Lab

Slide 22

Slide 22 text

Lab 22

Slide 23

Slide 23 text

Text • Can we draw the last 10 dots only? • Can we make darker the newest dot and light-gray (white) the oldest one? • Connect all the dots with a line, but instead of following the order in which they were clicked, connect them based on the shortest distance between each dot.

Slide 24

Slide 24 text

CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D. [email protected] Summer 2024 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.