Dependency Injection

book coverDependency Injection : design patterns using Spring and Guice / Dhanji R. Prasanna, Manning, 2009

Java programmers will find this valuable. 300 pages, contents:

  1. – Dependency injection: what’s all the hype?
  2. – Time for injection
  3. – Investigating DI
  4. – Building modular applications
  5. – Scope: a fresh breath of state
  6. – More use cases in scoping
  7. – From birth to death: object lifecycle
  8. – Managing an object’s behavior
  9. – Best practices in code design
  10. – Integrating with third-party frameworks
  11. – Dependency injection in action!

appendix A – The Butterfly Container
appendix B – Smarty Pants for Adobe Flex

2016 Update: This book is still the only one in OPL with a decent discussion of Dependency Injection. After 7 years! Programmers using the AngularJS framework will want to understand this well, as will programmers of any mid to complex system.

Jenkins Essentials

Jenkins Essentials, Mitesh Soni, 2015

The Jenkins tool is used for CI (Continuous Integration). CI performs frequent builds from your source code repository, to check that the build succeeds. And that the tests pass. Then your team can know whether some source change has problems, and can learn this quickly without needing to manually build the product. Jenkins can drive a dashboard, for better visibility. CI is an important part of the DevOps process.

Jenkins is part of the Java ecosystem, though it can be used for projects in other languages.

This book is not very readable in my mind, the text does not ‘flow’. It has too many screenshots, which fill the 150 pages. I would like it better if, instead, there was more discussion, more diagrams, and code examples.

Functional Thinking

Functional Thinking, Neal Ford, O’Reilly, 2014

As a programmer, you probably started with Procedural (C, Pascal, Fortran), worked up to OO (C++, Java, ..), perhaps with a side trip to declarative (XSLT). Now, Functional is more prominent (which we could have been doing all along with Lisp). Many people drift into Functional via JavaScript and jQuery but let’s think a bit more before coding.

This book helps you think in the Functional way. Its examples are in the Java ecosystem (including Groovy, Scala and Clojure). It is well written, and you will want to spend lots of time in its 150 pages.

Many of the ideas first appeared in Neal’s articles. You will also like his blog.