Category Archives: Training

Dependency Inversion and Assemblies References

In my last posts I have talked about using assembly references to preserve critical design aspects. In Enforce Consistency with Assemblies References I talk about how we can use references to outline the allowed dependencies in code and how to … Continue reading

Posted in .NET, Design, Training | Tagged , , , , , | Leave a comment

Enforce Consistency with Assembly References

In this post I’ll describe some key aspects that I consider when designing the assemblies that build a system. When we structure our code into assemblies (generally named binaries, libraries or packages in other platforms than .NET) we are reasoning about three main … Continue reading

Posted in .NET, Design, Technical, Training | Tagged , , , | Leave a comment

Disposing Instances when Using Inversion of Control

In the last few posts I have written about how to deal with IDisposable instances when using Dependency Injection. In the Who Disposes Your Repository I talk about the possibilities and challenges of disposing a repository which is injected. Then in the … Continue reading

Posted in .NET, Design, Technical, Training | Tagged , , , , | Leave a comment

Extending Unity Container for IDisposable Instances (2nd approach)

In my previous blog post I detailed an approach of making the Unity Dependency Injection Container to automatically call Dispose() on all the IDisposable instances it builds and injects. The implementation described there, makes use of custom lifetime managers and it … Continue reading

Posted in .NET, Design, Technical, Training | Tagged , , , | Leave a comment

Extending Unity Container for IDisposable Instances (1st approach)

A few weeks ago, in my blog post ‘Who Disposes Your Repository’ I wrote about the challenges of implementing an IDisposable repository, which takes full advantage of the deferred execution of the IQueryable<T> and, which is being injected through Dependency Injection … Continue reading

Posted in .NET, Design, Technical, Training | Tagged , , , | Leave a comment

Low Coupling by Refactoring Towards Higher Cohesion

Low coupling and high cohesion go hand in hand. In a low coupled design, the modules, classes and functions have a high cohesion. The other way around is also true: making high cohesive modules, classes or functions leads to a … Continue reading

Posted in .NET, Design, Technical, Training | Tagged , , , , , , | Leave a comment

Unit Testing Training

Unit Testing has been one of the dearest technical subjects for me in the past years. A great influencer was a TDD Workshop lead by J. B. Rainsberger to which I was lucky enough to attend, somewhere in 2010. It … Continue reading

Posted in Technical, Training, Unit Testing | Tagged , , , , | Leave a comment

The Code Design Training

It was few months ago more than a year ago (22nd of February 2013 in my Trello card, Ideas column), when I came up with the thought of developing a training about how to write good code. At that time … Continue reading

Posted in Technical, Training | Tagged , , , , , , , , | Leave a comment