Adapter Pattern
Adapter is a middleware like layer between two incompatible interfaces.
Let’s take a real life example. If two people speaking in different languages require a translator to communicate. This person can be called an adapter in this case.
In programming, a simple example of adapter is a base64 converter. Let’s say we have a consumer that only consumes base64 encoded strings, but we have a producer that only produces ascii strings. We have put this base64 encoder in between these entities.
class AsciiProducer:
def produce(self):
return "TEXT"
class Base64Adapter:
def produce(self):
return base64.convert(self.ascii_producer.produce())
class Consumer:
def __init__(self, producer):
self.producer = producer
def consume(self):
self.use(self.producer.produce())