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())