Patterns for Architecture of Distributed Systems: Wrapper Facade, Acceptor-Connector, Proactor, Reactor, Async Completion Token, Singleton, Bridge