面向对象设计(OOD)思想——还是以播放器为例(ZT) mzgfFNm^G)
g7H(PF?
有了思想才能飞翔,缺乏灵活就象少了轮子的汽车,难以飞奔。为了更好的理解设计思想,结合一个尽可能简洁的实例来说明OOD、设计模式及重构。通过下面的代码,详细地阐述面向对象设计思想。 2+XAX:YD
一、传统过程化设计思想 WyiQoN'q
假定我们要设计一个媒体播放器(只从软件设计的角度,不涉及硬件)。该媒体播放器目前只支持音频文件mp3和wav。按照结构化设计思想,设计出来的播放器的代码如下: 2^7`mES
public class MediaPlayer z{QqY.Gu{G
{ =s6 opL)
private void PlayMp3() !nnC3y{G
{ 'g\4O3&_
MessageBox.Show("Play the mp3 file."); W>r+h-kR
} E1
2uZ$X
jP.dDYc
private void PlayWav() =3P)q"
{ p_4<6{KEt
MessageBox.Show("Play the wav file."); xmoxZW:
}
YmG("z
SpBy3wd
public void Play(string audioType) #'`{Qv0,
{ %hP^%'G
switch (audioType.ToLower()) Mtx 4'WZ
{ y~V(aih}D
case ("mp3"): :`sUt1Fw.
PlayMp3(); HzJz+ x:
break; %C]>9."
case ("wav"): 6S#Cl>v
PlayWav(); U<XG{<2
break; z$sGv19pB
} E qiY\/S
} fP1!)po
} ar,7S&s