Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSC509 Lecture 02
Search
Javier Gonzalez-Sanchez
PRO
September 27, 2024
Programming
0
240
CSC509 Lecture 02
Software Design
Model-View-Controller
(202309)
Javier Gonzalez-Sanchez
PRO
September 27, 2024
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC305 Lecture 26
javiergs
PRO
0
140
CSC305 Lecture 25
javiergs
PRO
0
130
CSC509 Lecture 14
javiergs
PRO
0
130
CSC305 Lecture 24
javiergs
PRO
0
46
CSC509 Lecture 13
javiergs
PRO
0
170
CSC305 Lecture 23
javiergs
PRO
1
120
CSC305 Lecture 22
javiergs
PRO
0
61
CSC509 Lecture 12
javiergs
PRO
0
210
CSC305 Lecture 21
javiergs
PRO
0
190
Other Decks in Programming
See All in Programming
.NET 9アプリをCGIとして レンタルサーバーで動かす
mayuki
1
770
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
良いユニットテストを書こう
mototakatsu
3
1.4k
Effective Signals in Angular 19+: Rules and Helpers @ngbe2024
manfredsteyer
PRO
0
130
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1k
Refactor your code - refactor yourself
xosofox
1
250
バグを見つけた?それAppleに直してもらおう!
uetyo
0
170
Zoneless Testing
rainerhahnekamp
0
120
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
260
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
270
Semantic Kernelのネイティブプラグインで知識拡張をしてみる
tomokusaba
0
180
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
160
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Six Lessons from altMBA
skipperchong
27
3.5k
Optimising Largest Contentful Paint
csswizardry
33
3k
Being A Developer After 40
akosma
87
590k
Music & Morning Musume
bryan
46
6.2k
Embracing the Ebb and Flow
colly
84
4.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Transcript
Dr. Javier Gonzalez-Sanchez
[email protected]
www.javiergs.info o ffi ce: 14 -227
CSC 508/9 Software Engineering (Design & Deployment) Lecture 02. Architecture
Course Content
This Course 3
This Course 4
This Course covers CSC 509 • Apply wh a t
you know • Deepen into Design (decision-m a king) • Apply development skills (le a rn, a s needed, new fr a meworks, libr a ries, APIs) • Cre a te a product th a t not only works but h a s Qu a lity (reuse, extensibility, a nd modi f i a bility) 5
Concepts Architecture Design Code
Eric Gamma 7
Robert Martin Design principles a re not a perfume to
be liber a lly sc a ttered a ll over the system. Robert M a rtin (Agile m a nifesto, SOLID principles, Cle a n Code Book) 8
Foundations 9
Architecture
Architecture 11 Aerial Perspective of Kunming Campus-Howard Rideout Architect
Blueprint Architecture Design Code
Environment
Architecture Patterns • Model - View - Controller • L
a yered • Bl a ckbo a rd • Client-Server • Publisher-Subscriber 14
Model-View-Controller
MVC Architecture 16
Design | MVC applied to Java Desktop Apps 17
Code 18
19
Homework • Read Gamma et al. paper • Read Garlan
and Shaw paper • Available on Canvas
Review your Java Programming Skills (Including Java Swing GUI) Homework
21
CSC 509 Software Engineering Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2024
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.