Memory management with .NET is generally simpler than it is in languages like C++ where the developer has to explicitly handle memory usage. Microsoft added a garbage collector to the .NET framework to clean up objects and memory usage from managed code when it was no longer needed. However, since the garbage collector does not deal with resource allocation due to unmanaged code, such as COM object interaction or calls to external unmanaged assemblies, the IDisposable pattern was introduced to provide developers a way to ensure that those unmanaged resources were properly handled. Any class that deals with unmanaged code is supposed to implement the IDisposable interface and provide a Dispose() method that explicitly cleans up the memory usage from any unmanaged code. Probably the most common way that developers dispose of these objects is through the using statement.
[Read more…]
Common Pitfalls with IDisposable and the Using Statement
March 13, 2014 by 4 Comments
Integration Testing Best Practices
February 12, 2014 by 1 Comment
We’ve already covered the best practice of Automated Unit Testing. Unit testing has many benefits, but there are times when you need to be able to test how multiple units of code work together. This is when you need Integration Tests.