Browse our archives by topic…
Blog
Browse our blogs activity over the years…
Layering your API
Incrementally adding behaviour should be only incrementally more complex. Layer your APIs so simple tasks stay simple, while still offering a discoverable path to advanced features.
RX and INotifyPropertyChanged
Cleaner Reactive Extensions over INotifyPropertyChanged in C#: helper methods that simplify Expression-based subscriptions for property changes in MVVM apps.
Silverlight CommandManager
Silverlight has no equivalent to WPF's CommandManager and its RequerySuggested event. This post explores why, and a pattern for porting the behaviour across.
Component discovery & composition – 1f: Generalizing registration
This post demonstrates how to generalize component registration using C# generics and base classes, reducing boilerplate code while maintaining the convention-based approach to container bootstrapping with MEF and Castle Windsor.
A follow up to "A Short Tale of a Deceptively Slow LINQ Expression"
My last post caused a number of responses from the community. I discuss them here and provide a little bit more context.
A Short Tale of a Deceptively Slow LINQ Expression
A simple-looking foreach loop was taking over 200 seconds. The culprit: LINQ's deferred execution re-evaluating a query on every iteration.
Component discovery & composition – 1e: Componentizing registration
This post demonstrates how to componentize registration by combining MEF's discovery capabilities with Castle Windsor's conventional registration, enabling automatic bootstrapping of self-describing components.
Component discovery & composition – Part 1d: Conventions
This post explores Castle.Windsor's fluent API for convention-based component registration, enabling low-ceremony dependency injection through namespace matching and interface implementation patterns.
Component discovery & composition – Part 1c: Castle.Windsor
This post explores Castle.Windsor's registration and resolution model for dependency injection, contrasting its convention-based approach with MEF's explicit import/export attributes.
Introducing Templify
Templify is a simple tool for tokenising and packaging entire code based solutions. It's designed to unfurl demos / quickstarts / solution templates.
Component discovery and composition Part 1b: Fundamentals - MEF
This post explores MEF (Managed Extensibility Framework) for component discovery and composition in .NET, demonstrating its export/import attributes and explaining its limitations compared to full IoC containers.
Component discovery and composition Part 1: Fundamentals
This post introduces the fundamentals of component discovery and composition in .NET, exploring how MEF and Castle.Windsor can be combined to create loosely-coupled, modular application architectures.
Work Smarter, Not Harder
Feedback loops are an incredibly powerful force. In order adopt a continuous improvement mindset, you need to set up positive feedback loops. Here's how I've internalised the 'Work Smarter, Not Harder' mantra.