in this we will be introduced to several more design patterns once againwe'll cover the canonical examples as well as any common alternative implementations in python we'll be discussingthe adapter pattern the facade pattern lazy initialization and the flyweight pattern the command pattern the abstract factory pattern the composition pattern the adapter pattern unlike most of the patterns we reviewed in strings and serializationthe adapter pattern is designed to interact with existing code we would not design brand new set of objects that implement the adapter pattern adapters are used to allow two pre-existing objects to work togethereven if their interfaces are not compatible like the display adapters that allow vga projectors to be plugged into hdmi portsan adapter object sits between two different interfacestranslating between them on the fly the adapter object' sole purpose is to perform this translation job adapting may entail variety of taskssuch as converting arguments to different formatrearranging the order of argumentscalling differently named methodor supplying default arguments