Applications often implement one of a small number of architecture. These core architectures are like "design patterns", except they are patterns in dataflow and computation structure, not in class design and structure. I've documented some patterns documented below, along with links for common problems those architectures face. Event loop Many applications have a "main loop", which processes events and fires off callbacks as a result of these events. For example, the read-eval-print loop in ...