Reusable decorators in F#


Comp-os-ition F# fanbois often talk about how F# supposedly makes "composition" easier than C# (or indeed any OO-first langage). If you come from a C# background, you might not really think about what people mean by "composition", because to be honest functional composition in the OO world is pretty difficult to achieve. You achieve it … Continue reading Reusable decorators in F#

Advertisements

Unity Automapper 1.2 released


Unity Automapper is probably nearly finished. There aren’t many features left that I want to implement without over-complicating things – which is one of the main goals I want to avoid. Things I am looking at include adding a mechanism to allow an assembly to provide configuration details rather than attributes placed directly on types, … Continue reading Unity Automapper 1.2 released

Getting creative with IDisposable Part 2


In my last post, I gave some examples of how we can use the IDisposable interface in conjunction with the using statement to implement an on/off pattern wrapping around some critical region of code, even though there is no “disposable resource” involved. Problems with using IDisposable In this post I want to expand on the … Continue reading Getting creative with IDisposable Part 2

Getting creative with IDisposable Part 1


It occurred to me it might be interesting to describe some of the more unconventional uses of IDisposable that can help to make your code more readable, and even apply a kind of AOP-style coding to your code. MSDN describes IDisposable as follows: - Defines a method to release allocated resources. In the remarks section … Continue reading Getting creative with IDisposable Part 1

AOP with Unity – Part 3


So, here’s the final part of my Interception / Behaviours / AOP with Unity thread… I discussed (at length) an example problem space we have in my previous post; I want to give an example solution which provides very good encapsulation to the client code using Interceptors. Carrying right on then - we already have … Continue reading AOP with Unity – Part 3