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
OO training homework 3 review and summary
Search
hatelove
July 24, 2012
Technology
11k
1
Share
OO training homework 3 review and summary
將大家 homework 2 需注意的地方,延伸思考的部分提出來
hatelove
July 24, 2012
More Decks by hatelove
See All by hatelove
1. 在沙箱中開發
hatelove
12
3k
BDD in .NET - TDD 在實務上的最後一塊拼圖
hatelove
4
2.9k
OO training 基本原則整理
hatelove
2
5.3k
OO training homework 2 review and summary
hatelove
1
4.6k
OO training homework 1 review and summary
hatelove
1
8.1k
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
データ基盤構築・運用の現場から 〜 Snowflake Intelligence 導入で変わった、データ活用の未来 〜
wonohe
0
180
生成AIに振り回されない 〜確率論と決定論の使い分け〜
shukob
0
110
freee-mcpを Local→Remote で出してわかった MCP認可実装のリアル
terara
3
630
TypeScript の型で副作用の実行順序を制御する
yanaemon
2
210
ソフトウェアサプライチェーン攻撃対策として今からサクッとできること
flatt_security
2
140
【ハノーバーメッセ振り返りイベントat名古屋】データは集約からAI起点の収集に ~組織内・組織間でのデータ連携~
tanakaseiya
0
120
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
870
サプライチェーン攻撃への備えについて考えている #湘なんか
stefafafan
3
2.4k
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
190
コーディングエージェントはTypeScriptの 型エラーをどう自己修正しているのか
melonps
4
490
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
1k
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
310
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Ruling the World: When Life Gets Gamed
codingconduct
0
240
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Docker and Python
trallard
47
3.8k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
The Cult of Friendly URLs
andyhume
79
6.9k
RailsConf 2023
tenderlove
30
1.4k
Designing for humans not robots
tammielis
254
26k
Facilitating Awesome Meetings
lara
57
6.9k
Mind Mapping
helmedeiros
PRO
1
200
HDC tutorial
michielstock
2
670
Statistics for Hackers
jakevdp
799
230k
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