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
270
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
CSC486 Lecture 13
javiergs
PRO
0
16
CSC486 Lecture 12
javiergs
PRO
0
69
CSC486 Lecture 11
javiergs
PRO
0
28
CSC486 Lecture 10
javiergs
PRO
0
53
CSC486 Lecture 08
javiergs
PRO
0
53
CSC486 Lecture 07
javiergs
PRO
0
100
CSC486 Lecture 06
javiergs
PRO
0
83
CSC486 Lecture 05
javiergs
PRO
0
72
CSC486 Lecture 04
javiergs
PRO
0
44
Other Decks in Programming
See All in Programming
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
Unity Android XR入門
sakutama_11
0
180
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
340
From the Wild into the Clouds - Laravel Meetup Talk
neverything
0
170
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
170
color-scheme: light dark; を完全に理解する
uhyo
7
500
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
200
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
takumakoike
0
120
Domain-Driven Design (Tutorial)
hschwentner
13
22k
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.4k
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
160
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.4k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
How to train your dragon (web standard)
notwaldorf
91
5.9k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
GraphQLとの向き合い方2022年版
quramy
44
14k
Building Applications with DynamoDB
mza
93
6.2k
Git: the NoSQL Database
bkeepers
PRO
428
65k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
Dr. Javier Gonzalez-Sanchez javiergs@calpoly.edu 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. javiergs@calpoly.edu 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.