61
Message Oriented Programming
Designing around the messages, rather than the objects, brought my whole system into focus. If modules communicate by passing around self-contained textual data, or a simple structured format like JSON, they impose fewer assumptions on each other.