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
Rich Client Design Patterns
Search
bradgignac
April 14, 2012
Programming
3
280
Rich Client Design Patterns
Patterns for building rich client applications.
bradgignac
April 14, 2012
Tweet
Share
More Decks by bradgignac
See All by bradgignac
Why You Might Not Need Yet Another Environment
bradgignac
1
550
Understanding the Shift to Mobile
bradgignac
0
350
Front-End Operations
bradgignac
4
700
Intro to CoreOS
bradgignac
4
1.1k
Web Components and the Future of JS Frameworks
bradgignac
3
690
Modular CSS
bradgignac
0
14
Other Decks in Programming
See All in Programming
生成AIを使ったQAアプリケーションの作成 - ハンズオン補足資料
oracle4engineer
PRO
3
110
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
600
ミリしらMCP勉強会
watany
4
710
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
130
Youtube Lofier - Chrome拡張開発
ninikoko
0
2.2k
PHPのガベージコレクションを深掘りしよう
rinchoku
0
260
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
0
1.7k
Fluent UI Blazor 5 (alpha)の紹介
tomokusaba
0
170
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
270
ベクトル検索システムの気持ち
monochromegane
30
9.7k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
640
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
22
1.5k
The Invisible Side of Design
smashingmag
299
50k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Navigating Team Friction
lara
184
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Designing for humans not robots
tammielis
252
25k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Building Applications with DynamoDB
mza
94
6.3k
Writing Fast Ruby
sferik
628
61k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Rails Girls Zürich Keynote
gr2m
94
13k
Transcript
Rich Client DESIGN PATTERNS
What is a Rich Client? A stateful application that uses
client-side business logic in order to provide the user with an improved experience.
MVVM MVP MVC
MVVM MVP MVC
MVC Communication Model View Controller
Architecture MVC Data Access Layer Business Logic Layer View Controller
MVC Key Points Reuse through nested view/controller pairs Observer and
strategy patterns decrease coupling Tied directly to domain model View code can be difficult to test
MVVM MVP MVC
MVP Communication Model View Presenter
Architecture MVP Data Access Layer Business Logic Layer Presenter View
MVP Key Points Reuse by using presenter with multiple views
More obvious interaction than MVC View decoupled from domain model Mockable views for easier testing
MVVM MVP MVC
Communication MVVM Model View View Model
Architecture MVVM Data Access Layer Business Logic Layer View Model
View
MVVM Key Points Reuse through nested views Observer pattern decreases
coupling View decoupled from domain model View model is easily testable
Any Questions?