DTO Builders with T4

TL;DR
T4 template that you can add to any Visual Studio project to generate DTO Builder classes automatically from the DTO classes. It generates builders with fluent extensible API.

»
Author's profile picture Lauri Taimila on .net

The complicated relationship of domain and persistence

It was only yesterday when I blogged about .NET Solution structure of an enterprise application. I got some feedback from my colleagues about that post. One of the confusions was, why would I make the persistence project depend on the domain project? In this blog post I try to give a complete answer to that design choice.

»
Author's profile picture Lauri Taimila on architecture

.NET Solution Structure of an Enterprise Application

After reading multiple DDD-books (all two of them) and studying architectures like Onion, Clean and Hexagonal, I have tried to come up with a good .NET solution structure that enables developing a well architected enterprise application with domain-driven development while following the SOLID principles. In this blog post I will build such a solution step-by-step while explaining the reasons behind each design decision. You can find the complete solution from the GitHub with one commit for each step of the post.

»
Author's profile picture Lauri Taimila on architecture

Elokuvat

I’m really excited to release my 3th iOS app called Elokuvat. That’s Finnish for movies. Elokuvat is an application that brings the currently playing movies and showtimes of the Finnkino movie theaters in Finland into your pocket in an elegant and easy-to-use package. The application utilized Finnkino’s open API and The movie DB for enhanced content.

»
Author's profile picture Lauri Taimila on projects

DDD & Testing Strategy

In my previous post I discussed the unit of unit testing. Uncle Bob happened to blog about the same subject few days after my post. In that post he proposed the following rule:

»
Author's profile picture Lauri Taimila on testing and architecture

Unit of unit testing

Unit testing is something I have been doing for many years now. During that time, I have learned a lot about writing good tests, clean code and testability in general. I have learned mocking, TDD, BDD, you name it. One thing however has stayed the same during the whole learning process: the concept of unit. When I started unit testing I learned that class is a unit and all the external dependencies of the class should be mocked away. So, each class is tested in isolation from all the other ones and there is always a test class for each production code class.

»
Author's profile picture Lauri Taimila on testing

Junat 2

I finally finished my second iPhone app which is pretty much the same as the first one was. My second application is Junat 2, which continues from where my first app Junat left off. Junat 2 is a complete rewrite of the application and brings a lot of new features that were missing from the original Junat application. I also had to change my strategy and made this application non-free to be able to cover my development costs. I’m hopeful that the users will understand this and are willing to pay the minimum price from my app.

»
Author's profile picture Lauri Taimila on projects

White clock for OSX

I really like the Obsidian Menu Bar that Max has created for Lion. It basically just changes the OSX menu bar into black which makes it blend very nicely with the Apple displays. The problem is that it doesn’t change the color of the clock and therefore forces users to install iStats or some other application that offers more customizable clock. Although iStats is a great application, when you only need a clock $16 might feel a bit too much.

»
Author's profile picture Lauri Taimila on projects

Mikrobitti features Junat app

Mikrobitti is the largest magazine in Scandinavia concentrating on new technology. They have over 330000 readers. The last issue of the magazine featured my iPhone app Junat. I’m glad to see that they liked it and were willing to recommend it to the readers. Although, I wonder why they used English screenshots when there is also Finnish available. Anyway, thanks to the article, Junat app downloads has already increased.

»
Author's profile picture Lauri Taimila on projects

XCode color scheme for MonoDevelop

I like the colors Xcode uses for syntax highlighting, so I decided to create a new color scheme for MonoDevelop with the same colors. There are some diffrences how Xcode and MonoDevelop allows you to change the colors, but it’s still quite close to the original.

»
Author's profile picture Lauri Taimila on projects