Structural Design Pattern
The Adapter design pattern is a structural design pattern that allows objects with incompatible interfaces to collaborate
struct legacyType {
int a;
int b;
};
class LegacyCode {
public:
void processData(struct legacyType * lt) {
cout <<" a : " << lt->a <<" b: " << lt->b << endl;
}
};
class ModernType {
private:
int first;
int second;
public :
ModernType (int a, int b) : first(a) , second(b) {
}
int getFirst() {return first;}
int getSecond() {return second;}
};
class LegacyToModernAdapter {
LegacyCode lc;
public:
void processData(ModernType &mt) {
// convert mt's data into legacyType..
legacyType lt = {.a = mt.getFirst(), .b = mt.getSecond()};
lc.processData(<);
}
};
int main() {
ModernType mt(2,10);
LegacyToModernAdapter adapter;
adapter.processData(mt);
}
Follow more posts @ https://jdecodes.wordpress.com
My all design pattern articles :
- https://jdecodes.wordpress.com/2024/07/13/builder-design-pattern/
- https://jdecodes.wordpress.com/2024/07/13/command-design-pattern/
- https://jdecodes.wordpress.com/2024/07/13/iterator-design-pattern/
- https://jdecodes.wordpress.com/2024/07/13/mediator-design-pattern/
- https://jdecodes.wordpress.com/2024/07/19/state-design-pattern/
- https://jdecodes.wordpress.com/2024/07/19/memento-design-pattern/
- https://jdecodes.wordpress.com/2024/07/19/observer-design-pattern/
- https://jdecodes.wordpress.com/2024/07/19/strategy-pattern/
- https://jdecodes.wordpress.com/2024/07/20/visitor-design-pattern/
- https://jdecodes.wordpress.com/2024/07/20/adapter-desing-pattern/
- https://jdecodes.wordpress.com/2024/07/20/bridge-design-pattern/
- https://jdecodes.wordpress.com/2024/07/22/composite-desing-pattern/
- https://jdecodes.wordpress.com/2024/07/22/facade-design-pattern/
- https://jdecodes.wordpress.com/2024/07/22/decorater-design-pattern/
Leave a comment