News
ECMA publishes a work-in-progress of the C# Language Spec
Another cool little move to more openness and transparency for the C# language.
Code
Command Pattern Therapy
Far too many applications we’ve seen suffer from a new type of “dependency hell”. It’s not uncommon to see a Controller
with a constructor that has literally dozens of “service” and “repository” interface parameters. This is a problem; and it has a fix.
Bar Arnon: TPL Dataflow Is The Best Library You're Not Using
TPL Dataflow is an in-process actor library on top of the Task Parallel Library enabling more robust concurrent programming. It was first introduced in the async-ctp (the preview for async-await) but was eventually released as a standalone nuget package. It abstracts away most of the hard work needed when building asynchronous and/or parallel processing code but many people who might benefit from it aren’t aware of it.
Writing .NET Libraries with Cross Platform Tools
Targeting .NET Core for libraries can be done entirely with the .NET CLI tools, which are a foundational set of tools used by Visual Studio and ASP.NET Core. They provide an efficient and low-level experience that works across any supported OS. This document will focus on using the CLI tools directly.
LambdaToXpath, Creating Xpath Using Linq
The primary use case for this library is generating xpath expressions for automated testing (e.g. Selenium Web Tests), but LambdaToXpath doesn't depend on any third party libraries, and can be used to generate generic xpath expressions.
Test
TDD and Ninject Modules
Following our commitment to Test Driven Development (TDD), we should not write a line of code before writing a failing test for it, right? yet, many people write, in an unconscious way, a lot of code without doing any kind of testing around it. And yes, this includes Dependency Injection (DI) containers.
We're Hiring!
We're building a talented team.
Want to work with the engineers who curate this newsletter? Work remotely or in our Cambridge, MA office. We recently secured growth equity to help make email better. We're hiring .NET and Ruby developers: https://litmus.com/careers