add Facade Pattern
parent
6139398629
commit
8f0450d820
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 245 KiB |
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
|
@ -0,0 +1,69 @@
|
|||
#ifndef __FACADE_PATTERN_H__
|
||||
#define __FACADE_PATTERN_H__
|
||||
|
||||
//子系统:内存
|
||||
class Memory
|
||||
{
|
||||
public:
|
||||
Memory(){}
|
||||
void selfCheck(){
|
||||
printf("…………内存自检……\n");
|
||||
}
|
||||
};
|
||||
|
||||
//子系统:CPU
|
||||
class CPU
|
||||
{
|
||||
public:
|
||||
CPU(){}
|
||||
void run(){
|
||||
printf("…………运行CPU运行……\n");
|
||||
}
|
||||
};
|
||||
|
||||
//子系统:硬盘
|
||||
class HardDisk
|
||||
{
|
||||
public:
|
||||
HardDisk(){}
|
||||
void read(){
|
||||
printf("…………读取硬盘……\n");
|
||||
}
|
||||
};
|
||||
|
||||
//子系统:操作系统
|
||||
class OS
|
||||
{
|
||||
public:
|
||||
OS(){}
|
||||
void load(){
|
||||
printf("…………载入操作系统……\n");
|
||||
}
|
||||
};
|
||||
|
||||
//外观类
|
||||
class Facade
|
||||
{
|
||||
public:
|
||||
Facade(){
|
||||
memory = new Memory();
|
||||
cpu = new CPU();
|
||||
hardDisk = new HardDisk();
|
||||
os = new OS();
|
||||
}
|
||||
void powerOn(){
|
||||
printf("正在开机……\n");
|
||||
memory->selfCheck();
|
||||
cpu->run();
|
||||
hardDisk->read();
|
||||
os->load();
|
||||
printf("开机完成!\n");
|
||||
}
|
||||
private:
|
||||
Memory *memory;
|
||||
CPU *cpu;
|
||||
HardDisk *hardDisk;
|
||||
OS *os;
|
||||
};
|
||||
|
||||
#endif //__FACADE_PATTERN_H__
|
|
@ -0,0 +1,13 @@
|
|||
#include <iostream>
|
||||
#include "FacadePattern.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
Facade *facade = new Facade();
|
||||
facade->powerOn();
|
||||
|
||||
printf("\n\n");
|
||||
|
||||
system("pause");
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue