面向对象设计(OOD)思想——还是以播放器为例(ZT) (9#$za>
E^)>9f7
有了思想才能飞翔,缺乏灵活就象少了轮子的汽车,难以飞奔。为了更好的理解设计思想,结合一个尽可能简洁的实例来说明OOD、设计模式及重构。通过下面的代码,详细地阐述面向对象设计思想。 *kmD/J
一、传统过程化设计思想 W:s>?(6?
假定我们要设计一个媒体播放器(只从软件设计的角度,不涉及硬件)。该媒体播放器目前只支持音频文件mp3和wav。按照结构化设计思想,设计出来的播放器的代码如下: cN#c25S>
public class MediaPlayer 3tO=
{ AG3iKk??T
private void PlayMp3() jujhK'\
{ 4=G)j+RCH
MessageBox.Show("Play the mp3 file."); 78=a^gRB
} H{}Nr
4
%j.B/U$
private void PlayWav() #%~PNki
{ (R.l{(A
MessageBox.Show("Play the wav file."); K@JGGgrE`!
} kBh*@gf
~HFqAOr
public void Play(string audioType) lUL6L4m
{ 3Kx&+
switch (audioType.ToLower()) u<VR;p:y
{ :>:F6Db"U
case ("mp3"): DRDn;j
PlayMp3(); d@$]/=%
break; /IO<TF(X
case ("wav"): \]j{
PlayWav(); o9<)rUy
break; ,P%a0\
} {Wi)/B}
} ,2|(UTv
} Oc
Gg'R7
从传统的过程化设计思想来看,这是一段既实用又简洁的代码。 yDuMn<