Photo by [Digital Buggu](https://www.pexels.com/@digitalbuggu) on [Pexels](https://www.pexels.com/photo/colorful-toothed-wheels-171198/)

Dagger 2: Module Parameters

Last month, I went into detail about how to use the recently released Dagger 2 Android modules, and how you can make your injection code much more concise. Google have gone through a lot of effort to enable developers to use Dagger with very little integration and more importantly on how to use a common injection paradigm without the injection target being concerned with how it is being provided with it’s necessary dependencies. ...

June 19, 2017 · 3 min · Ash Davies
Photo by [Alog Sharma](https://www.pexels.com/@aloksharma/) on [Pexels](https://www.pexels.com/photo/black-android-smartphone-177707/)

Dagger 2: Android Modules

Many of the articles I write tend to involve application structure or architectural design patterns; and one of the most recurring topics I tend to visit is that of dependency injection. Dependency injection is probably one of the most important topics of modern application development, whilst often overlooked as a necessity, it allows us to build highly scalable, powerful applications and platforms. Dependency inversion works seamlessly with many other design principles and in many ways facilitates them, most specifically single responsibility. Effective dependency injection is achieved by providing dependencies through the constructor, usually as interface types, thereby allowing the class in focus to not worry about the instantiation of these types. I’ve gone into further detail about this in my previous article Effective Dependency Injection. ...

May 1, 2017 · 5 min · Ash Davies
Photo by [Tim Gouw](https://www.pexels.com/@punttim/) on [Pexels](https://www.pexels.com/photo/man-in-white-shirt-using-macbook-pro-52608/)

Effective Naming Conventions

Modern day development can be one of the most tasking professions around, but without a doubt also one of the most rewarding. Amongst the trialling tasks we must go through each day, one of the most arguably difficult necessities is how we name our types. This is partly due to the different naming conventions that come into play when using multiple words, underscores, hyphen, camel-case. Though we usually have code style guidelines to enforce a consistent use, this doesn’t really address the original problem. ...

April 30, 2017 · 3 min · Ash Davies
Photo by [Daniel Frank](https://www.pexels.com/@fr3nks/) on [Pexels](https://www.pexels.com/photo/empty-cave-287229/)

Effective Dependency Injection Scoping

The concept of dependency injection is a relatively simple one, and can usually be adhered to with a small set of rules when writing your code. Specifically, avoid creating new instances of objects within your classes, and opt to have the instance provided through the class constructor. This allows your class to focus on the key operations without having to worry about the state or creation of it’s dependencies. This means that your class will be small, concise, readable, and most importantly, easily maintainable since it only contains the logic required to perform the necessary operation. ...

April 10, 2017 · 8 min · Ash Davies