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
140
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
Refactor your code - refactor yourself
xosofox
1
260
Zoneless Testing
rainerhahnekamp
0
120
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
240
ゆるやかにgolangci-lintのルールを強くする / Kyoto.go #56
utgwkk
1
370
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
From Translations to Multi Dimension Entities
alexanderschranz
2
130
命名をリントする
chiroruxx
1
390
CQRS+ES の力を使って効果を感じる / Feel the effects of using the power of CQRS+ES
seike460
PRO
0
120
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
690
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
670
useSyncExternalStoreを使いまくる
ssssota
6
1k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
49
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
How to Ace a Technical Interview
jacobian
276
23k
Visualization
eitanlees
146
15k
RailsConf 2023
tenderlove
29
940
Six Lessons from altMBA
skipperchong
27
3.5k
Speed Design
sergeychernyshev
25
670
Thoughts on Productivity
jonyablonski
67
4.4k
The Cult of Friendly URLs
andyhume
78
6.1k
How STYLIGHT went responsive
nonsquared
95
5.2k
Building Adaptive Systems
keathley
38
2.3k
Building Applications with DynamoDB
mza
91
6.1k
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.