Stuart Sierra discusses various Clojure features: protocols, records, DI, managing startup/shutdown of components, dynamic binding, interactive development workflow, testing and mocking.
Uwe Friedrichsen discusses several easy to implement resilient software design patterns, when to use them and how to actually implement them - code included along with options to extend and improve those patterns in order to make an application more robust step by step in order to achieve the next level after agile and clean code: Becoming a resilient software developer!
Adam Warski shows how to replace features of DI containers with plain Scala code using MacWire, and adding interceptors using macros.
Adam Rosien introduces scalaz, how to use it to make code simpler and type safer, how it compensates for Scala issues, and how it encapsulates DI and data validation.
Jamie Allen reviews some of the actor patterns as implemented in Akka and Scala.
Jamie Allen describes three patterns using Akka actors: handling a lack of guaranteed delivery, distributing tasks to worker actors and implementing distributed workers in an Akka cluster.
Nat Pryce, Steve Freeman advise on design principles useful to create code structures with objects that fit together and communicate, and where the capabilities and the information flow are explicit.
Sean Owen provides examples of operational analytics projects in the field, presenting a reference architecture and algorithm design choices for a successful implementation based on his experience with customers and Oryx/Cloudera.
Sander Hoogendoorn shares patterns to avoid framework issues by using layered architectures, bridge patterns, managers-providers, DI, descriptors and layer super-types, including code samples.
Venkat Subramaniam shows how to implement several design patterns, including some GoF ones, using Groovy’s dynamic nature and closures.
Dan Woods discusses using Spring Integration and design patterns to implement a message-driven architecture in Grails to allow for better modularity, scalability, and code reusability.
Tobias Darm discusses how some of the GoF patterns can be implemented differently in C++11 using Boost libraries.