The “Service Interface” Pattern

I am constantly surprised when speaking with people how few have heard of or use the “Service Interface” pattern. It is actually a very straightforward pattern, is very little work to use, but brings such practical, quantifiable, visible, benefits I think it has to be one of my all time favourites. The Web Service Software…

3

WCSF Application Architecture 7: Remote Logic with WCF Services

This article is part of a series; ·         WCSF Application Architecture 1: Introduction ·         WCSF Application Architecture 2: Application Controller ·         WCSF Application Architecture 3: Model View Presenter ·         WCSF Application Architecture 4: Environment Abstraction ·         WCSF Application Architecture 5: Defining Modules ·         WCSF Application Architecture 6: Structuring Modules Unfortunately it is also the worst…

14

WCSF Application Architecture 6: Structuring Modules

This article is part of a series; ·         WCSF Application Architecture 1: Introduction ·         WCSF Application Architecture 2: Application Controller ·         WCSF Application Architecture 3: Model View Presenter ·         WCSF Application Architecture 4: Environment Abstraction ·         WCSF Application Architecture 5: Defining Modules Introduction This post is intended to address some common scenarios when using the…

11

Dependency Injection is Dead!

Long live “Dependency Resolution”! OK, so I’m not really serious – but I got your attention right? Truth is, I personally love Dependency Injection, but that doesn’t mean it isn’t without its flaws. The Service Locator pattern is often touted as Dependency Injection’s nearest rival, so let’s very briefly examine some of the characteristics of…

38

Aspect Oriented Interception

Have you used Aspect Oriented Programming (AOP) or Policy Injection? They’re pretty much the same thing. If you haven’t, I’d highly recommend doing some reading, as I believe it is a Software Engineering practice that has moved out of the “fashionable” and into the “enterprise”. For separation of concerns it is a fantastic paradigm. I’ve…

4

WCSF Application Architecture 5: Defining Modules

This article is part of a series; ·         WCSF Application Architecture 1: Introduction ·         WCSF Application Architecture 2: Application Controller ·         WCSF Application Architecture 3: Model View Presenter ·         WCSF Application Architecture 4: Environment Abstraction Modularity Primer One of the big pushes from the Web Client Software Factory was for Modularity – see the documentation…

6

WCSF Application Architecture 4: Environment Abstraction

This article is part of a series; ·         WCSF Application Architecture 1: Introduction ·         WCSF Application Architecture 2: Application Controller ·         WCSF Application Architecture 3: Model View Presenter Abstraction Contraption My previous (and future!) posts have focused on some specific sections of the Web Client Software Factory (WCSF), but this one is a little less…

11

WCSF Application Architecture 2: Application Controller

This article is part of a series; ·         WCSF Application Architecture 1: Introduction So why do we have patterns? I think it is basically to reuse good designs, and to adopt a common terminology when discussing software. But so often the subtleties of patterns are difficult to get right, and this causes confusion when people…

23

WCSF Application Architecture 1: Introduction

[Edit] By popular demand (well, one request!) I’ve added links to all the articles in this series here; WCSF Application Architecture 1: Introduction (this post)WCSF Application Architecture 2: Application ControllerWCSF Application Architecture 3: Model View PresenterWCSF Application Architecture 4: Environment AbstractionWCSF Application Architecture 5: Defining ModulesWCSF Application Architecture 6: Structuring ModulesWCSF Application Architecture 7: Remote Logic…

17

Two approaches to a LINQ Solution Structure

Background I’m in the process of writing a small windows application with a very straightforward architecture, for which the only twist is the need to be able to plug in different data providers according to how it is used. This means it must be able to handle SQL 2005, other database servers, XML files, flat…

3