What are the SOLID principles, and how do they inform your code design?
Implement format_messages(messages, formats) using an extensible design in which formatting behavior is isolated from message processing. Each message has text and format; formats maps format names to supported formatter types. Return the formatted text for every message in order.
Signature: format_messages(messages, formats)
formats may use plain, uppercase, or reverse. Inputs contain only supported format names.
text and formatformatsplain, uppercase, or reversedef format_messages(messages, formats):