It’s 2015. Most of the new popular languages are more or less functional. The old ones, like Java, gain functional programming elements. In Scala, people are increasingly leaning towards the … Continue Reading →
Category Archives: Modularity
MacWire 0.7: dynamically accessing the object graph
MacWire is a Lightweight and Nonintrusive Scala Dependency Injection library. While it would be great to be able to define in a type-safe way the whole object graph for an … Continue Reading →
Using Scala traits as modules, or the “Thin Cake” Pattern
I would like to describe a pure-Scala approach to modularity that we are successfully using in a couple of our Scala projects. But let’s start with how we do Dependency … Continue Reading →
MacWire 0.5: Interceptors
Interceptors are very useful for implementing cross-cutting concerns. Classic use-cases include security, logging or transaction support. Since version 0.5, MacWire contains an implementation of interceptors which can be applied to … Continue Reading →
Verifying usage of 3rd party libraries using Veripacks
Veripacks already allows to specify and verify which classes should be visible outside of a package (in a package-transitive way) as well as require importing and import packages within a … Continue Reading →
MacWire 0.2: Scopes are simple!
MacWire generates new instance creation code of given classes, using values in the enclosing type for constructor parameters, with the help of Scala Macros. DI container replacement. Version 0.2 has … Continue Reading →
MacWire 0.1: Framework-less Dependency Injection with Scala Macros
Using Dependency Injection is almost a standard when developing software. However, in many cases it may seem that using the pattern implicates using a DI container/framework. But is a framework … Continue Reading →
How to replace a build module with Veripacks
Compare the two trees below. In both cases the goal is to have an application with two independent modules (frontend and reporting), and one shared/common module (domain). The code in … Continue Reading →
Veripacks 0.1 – Verify Package Specifications
Using some free time during my Christmas & New Year break, I worked on a new project, which implements some of the ideas from my earlier blog “Let’s turn packages … Continue Reading →
Let’s turn packages into a module system!
Many projects are divided into modules/subprojects using the build system (Maven, Gradle, SBT …); and writing modular code is generally a Good Thing. Dividing the code into build modules is … Continue Reading →