Skip to content

Commit 779c8e2

Browse files
authored
FacadePattern Added
1 parent 20d378c commit 779c8e2

9 files changed

+93
-0
lines changed

FacadePattern/compileCode.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include "compileCode.hpp"
2+
3+
void CompileCode::CompileWrittenCode()
4+
{
5+
cout << "Compiling c++ code " <<endl;
6+
}

FacadePattern/compileCode.hpp

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include <iostream>
2+
using namespace std;
3+
4+
class CompileCode
5+
{
6+
public:
7+
void CompileWrittenCode();
8+
9+
};

FacadePattern/facade.cpp

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include "facade.hpp"
2+
3+
FacadeClass::FacadeClass()
4+
{
5+
write = new WriteCode();
6+
compile = new CompileCode();
7+
test = new TestingClass();
8+
9+
}
10+
void FacadeClass::DeveloperOperation()
11+
{
12+
write->WriteCodeMethod();
13+
compile->CompileWrittenCode();
14+
}
15+
void FacadeClass::TesterOperation()
16+
{
17+
compile->CompileWrittenCode();
18+
test->TestingMethod();
19+
}

FacadePattern/facade.hpp

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#include "writeCode.hpp"
2+
#include "compileCode.hpp"
3+
#include "testingClass.hpp"
4+
5+
class FacadeClass
6+
{
7+
private:
8+
WriteCode * write;
9+
CompileCode * compile;
10+
TestingClass * test;
11+
public:
12+
FacadeClass();
13+
void DeveloperOperation();
14+
void TesterOperation();
15+
16+
};

FacadePattern/main.cpp

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#include "facade.hpp"
2+
3+
int main(int argc, char const *argv[])
4+
{
5+
FacadeClass *facadeObject = new FacadeClass();
6+
facadeObject->DeveloperOperation() ;
7+
8+
cout <<"\n\nbelow is tester operations \n\n";
9+
facadeObject->TesterOperation();
10+
11+
12+
return 0;
13+
}

FacadePattern/testingClass.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#include "testingClass.hpp"
2+
void TestingClass::TestingMethod()
3+
{
4+
cout << "Testing c++ code " <<endl ;
5+
}

FacadePattern/testingClass.hpp

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#include <iostream>
2+
using namespace std;
3+
class TestingClass
4+
{
5+
public:
6+
void TestingMethod();
7+
8+
};

FacadePattern/writeCode.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#include "writeCode.hpp"
2+
3+
void WriteCode::WriteCodeMethod()
4+
{
5+
cout << "Writting a c++ code " <<endl;
6+
}

FacadePattern/writeCode.hpp

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#ifndef _WRITE_CODE_HEADER_
2+
#define _WRITE_CODE_HEADER_
3+
#include <iostream>
4+
using namespace std;
5+
6+
class WriteCode
7+
{
8+
public:
9+
void WriteCodeMethod();
10+
};
11+
#endif /*_WRITE_CODE_HEADER_ */

0 commit comments

Comments
 (0)