際際滷

際際滷Share a Scribd company logo
Inversion of Control
とは
doi
?Martin Fowler
Inversion of Control is a key part of what
makes a framework di?erent to a library.
Inversion of Control
? 崙囮の郡とUされる
? IoC と待される
箭1
システムは秘薦を鞭け函り燕幣する
返Aき議な崙囮
function AskUserNameAndPrint()
{
a = waitForInput();
print( a );
}
郡した崙囮
function AskUserNameAndPrint()
{
framework.WhenInputSomeString(
function doThis(string a)
{
print( a );
}
);
}
Call から Callback へ
柵竃したいI尖を峰
◎
柵び竃されたい圀しいI尖を峰
?Hollywood principle
Don't call us, we'll call you.
箭2
1昼おきにr震燕幣してピッとQらす
返Aき議な崙囮
while(1) {
t = getTime();?
print( t.hour+ : +t.minutes+ : +t.seconds );
beep();
sleep(1);
}
郡した崙囮
eventMap map;
function listen(string event, function f)
{
map[event].push(f);
}
// implements (timer)
while(1) {
each( f in map[event] ) {
f();
}
sleep(1);
}
function playBeep()
{
beep();
}
listen( TimerEvent , playBeep );
function showCurrentTime()
{
t = getTime();
print( t.hour+ : +t.minutes+ : +t.seconds );
}
listen( TimerEvent , showCurrentTime );
frameworkimplements
卆贋がなくなる
F壓r震を燕幣する
●卆贋がoい◎
咄をならす
ゲ`ムル`プ(Call)
と
タスクシステム(Callback)
gは附除な古廷だったんです
肝指は
Dependency Injection
についてやります

More Related Content

Viewers also liked (6)

PDF
安庄稼糸看敬壊でも閣温乙姻温稼岳と遺鞄艶韓で晦温姻温厩艶鉛のロ`カル桟廠を(徭蛍で)つくりたい
Yuta Ohashi
?
PDF
京庄乙河顎艶姻霞で鹿柴するシステムを恬って蛍かった悪永鴛鹿柴ツ`ル恬撹
(shibao)屮硫 (kouichiro)侑匯隻
?
PDF
SQLおし?さん(徭各)か?BigQueryのStandard SQLを聞ってみた
Kumano Ryo
?
PDF
これで京庄乙河顎艶姻霞をドヤ冲で囂れるゝ庄乙河顎艶姻霞の児云
Tomohiro Shinden
?
PDF
富し侑せになる室宝
kamedon39
?
PPTX
26 Disruptive & Technology Trends 2016 - 2018
Brian Solis
?
安庄稼糸看敬壊でも閣温乙姻温稼岳と遺鞄艶韓で晦温姻温厩艶鉛のロ`カル桟廠を(徭蛍で)つくりたい
Yuta Ohashi
?
京庄乙河顎艶姻霞で鹿柴するシステムを恬って蛍かった悪永鴛鹿柴ツ`ル恬撹
(shibao)屮硫 (kouichiro)侑匯隻
?
SQLおし?さん(徭各)か?BigQueryのStandard SQLを聞ってみた
Kumano Ryo
?
これで京庄乙河顎艶姻霞をドヤ冲で囂れるゝ庄乙河顎艶姻霞の児云
Tomohiro Shinden
?
富し侑せになる室宝
kamedon39
?
26 Disruptive & Technology Trends 2016 - 2018
Brian Solis
?

IoC とは