The standard Reactor allows a lead application with simultaneous events, while maintaining the simplicity of single threading.
The observer pattern (a subset of the asynchronous publish/subscribe pattern) is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. It is mainly used to implement distributed event handling systems.
The Producer Consumer pattern is an ideal way of separating work that needs to be done from the execution of that work. As you might guess from its name the Producer Consumer pattern contains two major components, which are usually linked by a queue. This means that the separation of the work that needs doing from the execution of that work is achieved by the Producer placing items of work on the queue for later processing instead of dealing with them the moment they are identified.
Define an interface or abstract class for creating an object but let the subclasses decide which class to instantiate
a class functioning as an interface to something else
Adapter Strategy State Template Middleware Command Chain of Responsibility Intercepting filter Singleton Interleaving GoF
nodejs architecture event demultiplexer libuv libev libeio CommonJS dependency hell Continuation passing style circular dependencies difference between exports and module.exports duck typing stamp specification Function hooking(AOP) Meta programming operator overloading object virtualization CSRF CORS composable factory pattern inversion of control Asynchronous Module Definition Universal module definition Gulp, grunt, webpack Caching mechanisms sticky load balancing upstart
libuv resource - nikhilm.github.io/uvbook Closures - developer.mozilla.org/en-US/docs/Web/Javascript/Guide/Closures Unleashing Zalgo - blog.izs.me/post/5914272143/designing-apis-for-asynchrony mrale.ph/blog/2012/09/23/grokking-v8-closures-for-fun.html nodejs.org/docs/v0.10.0/api/http.html#http_agent_maxsockets promiseaplus.com/ tc39.github.io/ecmascript-asyncawait github.com/Izzimach/react-three github.com/iamdustan/react-hardware
bluebird promise.all promise.race map reduce babel-cli for async await Streams .apply function proxy
peer to peer load balancing
monolithic vs microkernel design elastic microservice Scale X,Y,Z Reliability nodejs Zero downtime restart pm2
seneca awslambda apache mesos
api proxy api orchestration message broker
QoS MQTT AMQP STOMP RabbitMQ(AMQP) zeromq
Hardcoded dependency Dependency injection Service locator Dependency Injection containers
Reusability, maintenance, usability
Functions are first class objects Callback last Error param first