poeaa

Last night I finished the book Patterns of Enterprise Application Architecture by Martin Fowler. It's been sitting on my pile of shame for some time and I finally got around to reading it, which I'm very glad for. The layout of the chapters is similar to Martin Fowlers "other" book Refactoring: Improving the design of existing code. The book is divided into two parts. The first part contains general information about layering, structuring domain logic and "putting it all together" information. The second part contains detailed description with examples about enterprise patterns. I enjoyed the first part of the book the most. I consider the second part more or less like a reference, I'll use it to look up a pattern whenever I need to.

Any developer could benefit from reading the book, no matter which language your primary programming language is. The examples in the book are written in Java and C# and are easy to follow. There's also a good pro vs con description in the first part of the book telling you the advantage and disadvantages of each pattern. I highly recommend this book.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Domain-Driven Design (DDD)

Posted on December 16 by bjn
51sbuQIxz9L._SL500_AA240_

Last week I attended the course "Implementing Domain-Driven Design using LINQ" with Jimmy Nilsson in Stockholm. As you know Jimmy is the author of "Applying Domain-Driven Design and Patterns". This was the first time I really got acquainted with DDD and what better way than being introduced by Jimmy Nilsson?

I must say I really enjoyed the course, first of all there were only six of us that attended the course which led to really good discussions and there were a lot of time to ask questions. Second, I've been to a few presentations that Jimmy has done and I've never been disappointed. You can tell that he has done quite a few presentations by the way he acts. He's calm and he always has some way to make things easier to understand.

It was only a 2-days course so we only had the chance to cover the bare minimum of DDD, however, I feel like I've been thinking more and more with a DDD mindset after the course. By inspecting one of my projects a bit closer I discovered that the domain layer was pretty close to DDD already. In the project there is a few service classes which would be repositories in DDD. For example, there is a MemberService with two methods: FindByUsernameAndPassword and FindByEmail. There is however some work that has to be done to sort out all classes and categorize them into Entities and Value objects.

I'm hoping to be able to try out some DDD in an upcoming project. Until then I'll read Jimmys book and Eric Evans "Domain-Driven Design: Tackling Complexity in the Heart of Software".

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Michael Feathers is interviewed by Carl and Richard in show #397, Michael Feathers is the author of the book Working Effectively with Legacy Code. I've started doing a review of his book and the interview with Michael on .NET Rocks! will get me going with his book again for sure, unfortunately I've been busy reading other books but I hope to finish Working Effectively With Legacy Code soon.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Just started to read the book Working Effectively with Legacy Code by Michael Feathers. The book is about how to make changes to legacy code while minimizing the risk of introducing bugs, as well as other issues when dealing with legacy code (maintainability).

So far (only read the first 50 pages or so), the book does a good job explaining why you need tests. This is not something new but the book explains it rather well and it feels like the bo
ok is more geared towards a practical approach than for example Refactoring by Martin Fowler. Some of the bullet points so far has been breaking dependencies in the code, making it possible to write unit tests. I couldn't agree more, breaking dependencies and making it possible to inject a mock object into your class is extremely valuable. It makes it so much easier to write the tests when you have your class in complete isolation and you can dictate the environment which the class is executed in.

I've got high expectations on this book and so far Michael Feathers has delivered. Highly recommended.
I do intend to continue publishing little book reviews while reading and when I'm finished with the book I'll compile a complete book review.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5