Category.NET

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.

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...

.NET Usergroup Zentralschweiz

Urs Enzler and I are building up the .NET Usergroup in central switzerland. .NET interested people, software engineers or administrators with a strong flair towards technology and methodologies from central switzerland meet together to listen to interesting talks, presentations and workshops. The user group offers a knowledge and practice exchange platform in the heart of switzerland. We work closely together with the .NET Usergroup Bern. The main focus is to spread interesting knowledge about...

.NET Open Source Projects and Coding Guidelines

In my projects, we use a lot of open source libraries like Ninject, xUnit, Machine.Specifications, FluentAssertions, StyleCop, Moq, statLight, AgUnit and of course the project I lead myself: bbv.Common. These projects are really cool. But sometimes of course, we need something that they do not (yet) provide. Like adding Machine.Specification support in FluentAssertions or a faster runner for xUnit unit tests under silverlight with AgUnit and statLight. Therfore, we download the source code and...

Dynamic Proxy for WCF with Castle DynamicProxy Reloaded

D

This is a follow up post from the post Dynamic Proxy for WCF with Castle DynamicProxy. I updated the code in the last post. I just want to share here a better implementation without much words. The new implemenation uses only the ICommunicationObject interface. The service is correctly closed when not needed anymore. For instantiating and binding the WCF client proxies on the ninject kernel a ToMethod binding is used which calls into the proxyGenerator. But see for yourself.

Threadsafe ObservableCollection

T

When you are developing applications for WPF, Silverlight or WindowsPhone you often use ObservableCollection<T> to bind your data to the user interface. The limitation of ObservableCollection<T> is that it will only allow updates from the dispatcher thread. So if you want to insert data into the observable collection from another thread you need to write boiler plate code to marshal the changes back on the UI thread via the dispatcher. I wrote an observable collection which solves...

Recent Posts