Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OO training homework 3 review and summary
Search
hatelove
July 24, 2012
Technology
11k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OO training homework 3 review and summary
將大家 homework 2 需注意的地方,延伸思考的部分提出來
hatelove
July 24, 2012
More Decks by hatelove
See All by hatelove
1. 在沙箱中開發
hatelove
12
3.1k
BDD in .NET - TDD 在實務上的最後一塊拼圖
hatelove
4
3k
OO training 基本原則整理
hatelove
2
5.3k
OO training homework 2 review and summary
hatelove
1
4.7k
OO training homework 1 review and summary
hatelove
1
8.2k
Object Oriented Training - Session 4
hatelove
1
5.2k
Object Oriented Training - Session 3
hatelove
1
11k
Object Oriented Training - Session 2
hatelove
1
4.9k
Object Oriented Training - Session 1
hatelove
1
8.4k
Other Decks in Technology
See All in Technology
キヨさん67歳 AIコーディングエージェント物語
happysamurai294
0
140
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
140
You Have Agency(サンキュー、Ruby)
snoozer05
PRO
5
630
Agent Loopを組み込んだ アンビエントなAI機能を実現する / Ambient AI fetures with Agent Loop
nekorush14
0
120
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
2.6k
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
0
120
AI Search (Foundry IQ) におけるRAGデータの準備と配置
ryomaru0825
1
110
[General] 개발자로 해외 기업에서 일하기
skydoves
1
180
Draft AIエージェントの トークン消費を最小化する 8つの原則
kinopeee
6
1.9k
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
780
渡米前の準備を制す!re:Invent 2026徹底準備術 / The Ultimate Preparation Guide for re:Invent 2026
yuj1osm
1
460
今から始めるAWS環境の暗号移行 - ポスト量子時代に備える
sato4mi
0
140
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
A Tale of Four Properties
chriscoyier
163
24k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
660
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
560
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
660
Tell your own story through comics
letsgokoyo
1
1.1k
Mind Mapping
helmedeiros
1
420
Speed Design
sergeychernyshev
33
2.2k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
Product Roadmaps are Hard
iamctodd
55
13k
Transcript
Date: 2012/06/28 OO training – homework 3 review
- 2 - Context與工廠職責分離 • new class的動作與使用class的動作分開 – context為使用場景 –
生成物件為工廠的職責 – 使用class都應相依於介面
- 3 - 職責分離 • BL也要遵守單一職責原則 – 商業邏輯不代表得把domain併在一起 • 禁止跨層叫用
– 例如:頁面叫用DA層
- 4 - 依賴於介面 • 物件相依於介面,而非實體 class • Log, Setting,
DA 的介面使用 – 開放封閉原則 – 容易抽換 • 物件結合方式 – constructor – public property – 注意!沒有值給預設值作法的問題 • 應改為 assert / contract 方式的防呆與檢查 • 或透過 overload 無參數 constructor 來給預設值
- 5 - 封裝 • 介面上只開放需要用的方法 – YAGNI ( You
ain’t gonna need it ! ) 原則 • 將實作細節封裝成抽象意義 – 將QueryString封裝成property – 將ViewState封裝成property
Q & A