Skip to content
Adam Warski
Adam Warski

Sharing elegant solutions to everyday problems

  • Home
  • Talks
  • Videos
  • About
Adam Warski

Sharing elegant solutions to everyday problems

Category: MacWire

MacWire 2.0: composing modules & cleanup

Adam Warski, 30 September, 2015

Recently we released MacWire 2.0, with a number of new features and general code cleanup. The majority of the work was done by Bruno Bieth – thanks! If you don’t know what MacWire is: a lightweight and non-intrusive Scala dependency injection library, and in many cases a replacement for DI…

Continue Reading

MacWire 1.0 is here!

Adam Warski, 7 April, 20157 April, 2015

A couple of days ago MacWire 1.0 was released! If you don’t yet know what MacWire is: a light-weight and non-intrusive Scala Dependency Injection library. In fact, it’s more of an approach to DI (see the step-by-step guide), than a library. Another good thing – it’s definitely not a framework…

Continue Reading

In today’s post-OO world, is dependency injection still relevant?

Adam Warski, 23 February, 201525 February, 2015

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 pure side, using more FP and less OO. So – Dependency Injection? Really? You could say that DI is just…

Continue Reading

MacWire 0.8.0: towards 1.0, tagging, anonymous functions support

Adam Warski, 20 January, 2015

A couple of days ago MacWire 0.8.0 got released. It contains a couple of changes and new features. But first, I’d like to thank Marcin Kubala for his contributions. All of the changes are reflected in the guide to DI in Scala. Tags/qualifiers If you have multiple objects of the…

Continue Reading

MacWire 0.7: dynamically accessing the object graph

Adam Warski, 22 July, 201423 July, 2014

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 application upfront, there are cases when it is necessary to access and extend it dynamically. That’s why MacWire 0.7 contains…

Continue Reading

Using Scala traits as modules, or the “Thin Cake” Pattern

Adam Warski, 25 February, 201413 March, 2014

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 Injection (see also my other blogs). Each class can have dependencies in the form of constructor parameters, e.g.: 1 2…

Continue Reading

BuildStuff 2013 is over – looking forward to ’14!

Adam Warski, 17 December, 2013

I just came back from the BuildStuff conference in Vilnius, Lithuania (actually this was almost a week ago, but I was writing that back at the airport ;) ). Although it’s not so well known, and it’s only the second edition, I must say that it was a really great…

Continue Reading

MacWire 0.5: Interceptors

Adam Warski, 1 October, 2013

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 arbitrary object instances in a Scala-friendly way, and which plays nicely with the traits-as-modules approach. No compile-time or load-time bytecode…

Continue Reading

Dependency Injection in Play! with MacWire

Adam Warski, 21 August, 2013

The most recent release of MacWire (0.4) (a Scala macro to generate wiring code for class instantiation, DI container replacement) comes with new utilities which make it easier to integrate with frameworks which require by-class instance lookup. An example of such a framework is Play!, which is quite quickly gaining…

Continue Reading

Implementing factories in Scala & MacWire 0.3

Adam Warski, 18 June, 2013

Factories are useful when we need to create multiple instances of a class at run-time, usually providing some parameters, but still without using new explicitly; we want to make some complex object creation abstract. The created object may depend both on runtime-provided data (the parameters), and some other “services”. MacWire…

Continue Reading
  • 1
  • 2
  • Next

CTO @ SoftwareMill

©2023 Adam Warski | WordPress Theme by SuperbThemes