Tags » Design Principles

Externalising dependencies with Dependency Injection in .NET part 7: emailing

Introduction

In the previous post of this series we looked at how to hide the implementation of file system operations. In this post we’ll look at abstracting away emailing. 1,121 more words

C#

Externalising dependencies with Dependency Injection in .NET part 6: file system

Introduction

In the previous post we looked at logging with log4net and saw how easy it was to switch from one logging strategy to another. By now you probably understand why it can be advantageous to remove hard dependencies from your classes: flexibility, testability, SOLID and more. 958 more words

C#

Principles of Design

Rhythm

Scale

Balance

Variety

Emphasis

Contrast

Harmony

Unity

Pattern

Design Principles

Externalising dependencies with Dependency Injection in .NET part 5: logging with log4net

Introduction

In the previous post we looked at how to hide the concrete implementation of the logging technology behind an abstraction. In fact we reached the original goal of showing how to rid the code of logging logic or at least how to make the code less dependent on it. 2,702 more words

C#

Ten Principles of Good Design

“When you first start to study a field,
it seems like you have to memorize a zillion things.
You don’t.
What you need is to identify the core principles – 730 more words

A Continuous Lean

4 design patterns to learn with C# .NET

Here come 4 well-known design patterns that I think most developers will benefit from, even those that are by nature anti-designpattern. Note that the list is biased and only shows the ones that I personally use the most often in my work. 165 more words

C#