Slide 1

Slide 1 text

Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227 CSC 508/9 Software Engineering (Design & Deployment) Lecture 05. Software Architecture II

Slide 2

Slide 2 text

Environment 2

Slide 3

Slide 3 text

Blueprint 3 Architecture Design Code

Slide 4

Slide 4 text

Model-View-Controller

Slide 5

Slide 5 text

Model-View-Controller 5

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Appendix Observer Pattern

Slide 11

Slide 11 text

Observer 11

Slide 12

Slide 12 text

Classroom | Initial Version 12 https://github.com/CSC3100/Patterns

Slide 13

Slide 13 text

Student | Initial Version class Student { public String answerQuestion (String question) { String answer; // solve the question return answer; } } 13 https://github.com/CSC3100/Patterns

Slide 14

Slide 14 text

Teacher | Initial Version 14 https://github.com/CSC3100/Patterns

Slide 15

Slide 15 text

Observer 15

Slide 16

Slide 16 text

https://github.com/CSC3100/Patterns

Slide 17

Slide 17 text

https://github.com/CSC3100/Patterns

Slide 18

Slide 18 text

https://github.com/CSC3100/Patterns

Slide 19

Slide 19 text

https://github.com/CSC3100/Patterns

Slide 20

Slide 20 text

https://github.com/CSC3100/Patterns

Slide 21

Slide 21 text

Important 21 Do not reinvent the wheel! (Do not make another implementation for classes Observer or Observable -they already exist in libraries!)

Slide 22

Slide 22 text

Important 22 Depreciated java.util.Observer java.util.Observable The implementation of these packages That is NOT about the Observer pattern being depreciated.

Slide 23

Slide 23 text

Important 23 Use java.beans.PropertyChangeListener java.beans.PropertyChangeSupport

Slide 24

Slide 24 text

https://github.com/CSC3100/Patterns

Slide 25

Slide 25 text

https://github.com/CSC3100/Patterns

Slide 26

Slide 26 text

https://github.com/CSC3100/Patterns

Slide 27

Slide 27 text

Thoughts? 27

Slide 28

Slide 28 text

Questions 28

Slide 29

Slide 29 text

CSC 509 Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected] Fall 2025 Copyright. These slides can only be used as study material for the class CSC509 at Cal Poly. They cannot be distributed or used for another purpose.