面向对象设计(OOD)思想——还是以播放器为例(ZT) 0T`Qoo>u
T~xVHk1
有了思想才能飞翔,缺乏灵活就象少了轮子的汽车,难以飞奔。为了更好的理解设计思想,结合一个尽可能简洁的实例来说明OOD、设计模式及重构。通过下面的代码,详细地阐述面向对象设计思想。 RnH?95n?{
一、传统过程化设计思想 ql@2<V{
假定我们要设计一个媒体播放器(只从软件设计的角度,不涉及硬件)。该媒体播放器目前只支持音频文件mp3和wav。按照结构化设计思想,设计出来的播放器的代码如下: Tr?p/9.m
public class MediaPlayer 9Kd=GL_
{ @(#vg\UH
private void PlayMp3() 0cmd +`
{ U;bx^2<m
MessageBox.Show("Play the mp3 file."); nuq@m0t\#
} #mU\8M,
%G!!0V!
private void PlayWav() ^|MS2'
{ k1z`92"
MessageBox.Show("Play the wav file."); ya2sS9^T[
} 4 ?BQ&d
c^w^'<
public void Play(string audioType) ->I.D?p
{ U
'{PpZ
switch (audioType.ToLower()) NV./p`k
{ w,IJ44f ^%
case ("mp3"): RFbf2s\t
PlayMp3(); 5mAb9F8@
break; I;@q`Tm
case ("wav"): %i\rw*f
PlayWav(); . gy:Pl]w
break; W<q<}RSn
} 807+|Ol[
} ;SXkPs3q
} 4(htdn6 \
从传统的过程化设计思想来看,这是一段既实用又简洁的代码。 {e&fB