这个例子还是比较好理解的,所以只给出代码.
รูปแบบหน่วย;
อินเตอร์เฟซ
ใช้กล่องโต้ตอบ;
พิมพ์
TAudioPlayer=คลาส;
TCommand=คลาส
สาธารณะ
ขั้นตอนดำเนินการ;เสมือน;นามธรรม;
จบ;
TPlayCommand=คลาส(TCommand)
ส่วนตัว
เครื่องเล่นเสียง:TAudioPlayer;
สาธารณะ
ขั้นตอนดำเนินการ; แทนที่;
ขั้นตอน Playcommand (AP: TAudioPlayer);
จบ;
TStopCommand=คลาส(TCommand)
ส่วนตัว
เครื่องเล่นเสียง:TAudioPlayer;
สาธารณะ
ขั้นตอนดำเนินการ; แทนที่;
ขั้นตอน StopComman (AP: TAudioPlayer);
จบ;
TRewindCommand=คลาส(TCommand)
ส่วนตัว
เครื่องเล่นเสียง:TAudioPlayer;
สาธารณะ
ขั้นตอนดำเนินการ; แทนที่;
ขั้นตอน RewindCommand (AP: TAudioPlayer);
จบ;
TKeyPad=คลาส
ส่วนตัว
เล่นคำสั่ง:TCommand;
StopCommand:TCommand;
ย้อนกลับคำสั่ง: TCommand;
สาธารณะ
ตัวสร้างสร้าง (PlayC, StopC, RewindC: TCommand); เสมือน;
ขั้นตอนการเล่น();
ขั้นตอนหยุด();
ขั้นตอนย้อนกลับ();
จบ;
TAudioPlayer=คลาส
สาธารณะ
ขั้นตอนการเล่น();
ขั้นตอนหยุด();
ขั้นตอนย้อนกลับ();
จบ;
TClient=คลาส
ส่วนตัว
ปุ่มกด:TKeyPad;
เครื่องเล่นเสียง:TAudioPlayer;
สาธารณะ
ตัวสร้างสร้าง ();
ขั้นตอนการทดสอบ ();
จบ;
การดำเนินการ
{ทีคีย์แพด}
ตัวสร้าง TKeyPad.Create (PlayC, StopC, RewindC: TCommand);
เริ่ม
PlayCommand:=PlayC;
StopCommand:=StopC;
RewindCommand:=กรอกลับC;
จบ;
ขั้นตอนTKeyPad.play;
เริ่ม
PlayCommand.execute;
จบ;
ขั้นตอน TKeyPad.rewind;
เริ่ม
RewindCommand.execute;
จบ;
ขั้นตอนTKeyPad.stop;
เริ่ม
StopCommand.execute;
จบ;
{TAudioPlayer}
ขั้นตอน TAudioPlayer.play;
เริ่ม
ShowMessage('เล่น');
จบ;
ขั้นตอน TAudioPlayer.rewind;
เริ่ม
ShowMessage('ย้อนกลับ');
จบ;
ขั้นตอน TAudioPlayer.stop;
เริ่ม
ShowMessage('หยุด');
จบ;
{ทีเพลย์คอมมานด์}
ขั้นตอน TPlayCommand.execute;
เริ่ม
สืบทอด;
เครื่องเล่นเสียง.เล่น();
จบ;
ขั้นตอน TPlayCommand.Playcommand (AP: TAudioPlayer);
เริ่ม
self.AudioPlayer:=AP;
จบ;
{คำสั่ง TRewind}
ขั้นตอน TRewindCommand.execute;
เริ่ม
สืบทอด;
AudioPlayer.Rewind;
จบ;
ขั้นตอน TRewindCommand.RewindCommand (AP: TAudioPlayer);
เริ่ม
เครื่องเล่นเสียง:=ap;
จบ;
{TStopCommand}
ขั้นตอน TStopCommand.execute;
เริ่ม
สืบทอด;
เครื่องเล่นเสียง.หยุด;
จบ;
ขั้นตอน TStopCommand.StopComman (AP: TAudioPlayer);
เริ่ม
เครื่องเล่นเสียง:=ap;
จบ;
{ทีไคลเอนต์}
ตัวสร้าง TClient.Create;
เริ่ม
เครื่องเล่นเสียง:=TAudioPlayer.Create();
จบ;
ขั้นตอน TClient.test;
var
เล่นคำสั่ง:TCommand;
StopCommand:TCommand;
ย้อนกลับคำสั่ง:TCommand;
เริ่ม
PlayCommand:=TPlayCommand.สร้าง;
StopCommand:=TStopCommand.สร้าง;
RewindCommand:=TRewindCommand.Create;
ปุ่มกด:=TKeyPad.Create(PlayCommand,StopCommand,RewindCommand);
ปุ่มกด.หยุด;
ปุ่มกด.เล่น;
ปุ่มกด.กรอกลับ;
ปุ่มกดหยุด;
จบ;
จบ.