Your source of geek knowledge

Y

Latest stories

bbv.Common.Bootstrapper: Introduction

b

There’s a new kid around the block! The bbv.Common library contains now a generic bootstrapper implementation. The bootstrapper provides a simple and flexible way to make your application’s startup and shutdown behavior pluggable and extendable. As usual the bootstrapper package comes along with high unit test coverage (it has been developed with TDD), executable specifications (MSPECified 😉 ) and a sample application. The bootstrapper is focused around the following core...

Distributed Event Broker – Custom messages, selection strategies and restrictions

D

In my last post I gave an overview about some of the customization possibilities of the distributed event broker. In this post we are going even deeper into some of the customization possibilities the distributed event broker offers. I want to cover the following topics: Custom messages and selection strategies. Furthermore I want to give some details about the current restrictions of the distributed event broker.

GitExtensions 2.24 and Apply Patch pitfall

G

Today I survived a shocking experience.  I’m working on an open source framework. Some of the features I’ve been doing at home on a cloned git respository. I have commited about 6 times for a feature. Another change of the feature I was doing on another machine at my workplace. These changes were another two commits. I then patched the two commits I did on my work computer and applied them at home upon the other six commits with gitextensions (version 2.24). When I applied the...

Caliburn.Micro – Core infrastructure

C

In my last post I covered basic topics about Caliburn and Caliburn.Micro. Lets look into the core infrastructure. Bootstrapper In short terms the Bootstrapper is responsible to configure the framework and provides extension points to hook in various Inversion of Control containers. The generic variant of the Bootstrapper allows defining which view acts as the main view (view-first) or which view model acts as the main model (view-model-first) of the application. The Bootstrapper can either be...

Caliburn.Micro – Introduction

C

Caliburn.Micro is a lightweight and small, yet powerful framework for developing rich WPF, Silverlight or Windows Phone applications. Caliburn.Micro has only a single dependency to the System.Windows.Interactivity library. Due to its small footprint of only 75 k and approximately 2700 lines of code it is not only lightning fast in startup and execution time but also easy to understand. The framework offers pattern guidance for the following well established design patterns: Model – View...

Distributed Event Broker – Introduction

D

In my last post you heard introductory details about the bbv.Common.EventBroker. Let us take this one step further. Imagine going from one process to multiple processes or even firing events over multiple machines. And all this with your existing event broker and with only a few lines of code. Too good to be true? I can assure you it is possible! Let’s dive into the distributed event broker.

Refactoring in Test Driven Development

R

cross-post from www.bbv.ch/blog
In the last two years I gave over a dozen courses and presentations about test driven development (TDD). One question, I get asked almost every time, is how to refactor code while keeping up the TDD rules:

write only production code if there is a failing test requesting it
have no more that one failing test at once

Why I like Ninject for Acceptance Testing (.NET Dependency Injection Container)

W

Lately, I wrote quite a lot of acceptance tests. I simulate that the application is started-up and perform all features requested by our customer to make sure that they work as expected. In order to make these tests fast so that they can be run on every commit to the version control system, I simulate all interaction with the environment of the application: views, database, file system, registry, share point and so on. To get the most out of these acceptance tests, I want to fake as little as...

Event Broker – Introduction

E

Some of you might already be familiar with the bbv.Common.EventBroker. For those who aren’t I want to give a quick overview of the bbv.Common.EventBroker because knowledge about the event broker is crucial for my future posts about the distributed event broker. The event broker acts as a mediator between a publisher of notifications (aka publisher) and a consumer of notifications (aka subscriber). The event broker transparently integrates into the usage of classic .NET events by applying...

Recent Posts