Barbarossa Blog
2024 / 11   «« »»
01
F
 
02
S
 
03
S
 
04
M
 
05
T
 
06
W
 
07
T
 
08
F
 
09
S
 
10
S
 
11
M
 
12
T
 
13
W
 
14
T
 
15
F
 
16
S
 
17
S
 
18
M
 
19
T
 
20
W
 
21
T
 
22
F
 
23
S
 
24
S
 
25
M
 
26
T
 
27
W
 
28
T
 
29
F
 
30
S
 
meaning of mark :: nothing , comment
Pageview

Online Status

Profile
hHandleName = Fe+;



某メーカ勤務の怪しい会社員。
40代に突入しても不惑の域に達しない。

Recent Diary

Recent Comments

RSS & Atom Feed
Barbarossa Blog
RSS1.0 / RSS2.0 / Atom0.3
Kの外部記憶
RSS1.0 / RSS2.0 / Atom0.3
Fe+の子育てログ
RSS1.0 / RSS2.0 / Atom0.3
Fe+の麺類万歳
RSS1.0 / RSS2.0 / Atom0.3
Fe+の千夜一夜
RSS1.0 / RSS2.0 / Atom0.3
Fe+の外部記憶
RSS1.0 / RSS2.0 / Atom0.3
Fe+の自腹 de movie
RSS1.0 / RSS2.0 / Atom0.3
Fe+の逆転MBA
RSS1.0 / RSS2.0 / Atom0.3
転載 no Blog
RSS1.0 / RSS2.0 / Atom0.3
ヘタウマお絵かき
RSS1.0 / RSS2.0 / Atom0.3
チャレンジ英語1000時間
RSS1.0 / RSS2.0 / Atom0.3

«« LOST | main | スカっと爽やか »»
«« カテゴリ内前記事(脳男) | Fe+の千夜一夜 | カテゴリ内次記事(イン・ザ・プール) »»
2006/08/24
抽象化注意報
夏休み前に買っておいた一冊。

アジャイルソフトウェア開発の奥義
アジャイルソフトウェア開発の奥義

OCP(Open-Close Principle)や、LSP(Liskov Substituion Principle)も参考になったけど、やはり参考になった(というより、最近失念していた)こととして、「抽象化の概念を初期実装段階であまり考慮する必要が無い」ってことですね。

デザパタで言うと、TempleteやFactoryに代表されるもの。
リファクタリングの結果や、反復開発で要求を落とし込む(ソフトウェア要求と実装の差異を極小にする行為)段階で、OCPを意識して行われるべきだと。
つまり、「どちらの要求方向に対する拡張にOpenにするのか」は単純な抽象化では実現できないってことですね。

本文では、複数の図形を扱う例として、「図形形状の拡張と、図形順列制御の拡張」を例に挙げて、OCPと抽象化の扱い方を説明しています。
これが結構絶妙だったりします。

コレを知っておくと、初期コードでは無駄な抽象化(Openにすべき拡張概念)を考えずに組めるので楽チンです。
最終的に拡張に対してOpenになればいいだけだしね。目がハートネコ

●参考
デザインパターンの落とし穴
デザインパターンを読み解く
posted at 2006/08/27 1:08:49
lastupdate at 2006/08/27 23:31:00
修正
 
Comments

Post your Comment
name
mail
home
comment
文字装飾グラデーション絵文字