CSharpFeeds - All your C# feeds in one place.

Sponsors

Feed: The Wandering Glitch

Site: http://aabs.wordpress.com/feed/ Link: http://aabs.wordpress.com/feed

Thursday, November 13, 2008

Pattern Matching in C#

by aabs via The Wandering Glitch on 11/13/2008 10:46:23 PM

I recently used Matthew Podwyszocki’s pattern matching classes for a top level exception handler in an App I’m writing. Matthew’s classes are a really nice fluent interface attaching predicates to functions generating results. I used it as a class factory to select between handlers for exceptions. Here’s an example of how I used it: ExceptionHandler [...] ...

[ read more ]

Wednesday, June 25, 2008

State Machines in C# 3.0 using T4 Templates

by aabs via The Wandering Glitch on 6/25/2008 2:07:14 PM

Example Code. Some time back I wrote about techniques for implementing non-deterministic finite automata (NDFAs) using some of the new features of C# 3.0. Recently I’ve had a need to revisit that work to provide a client with a means to generate a bunch of really complex state machines in a lightweight, extensible and easily understood [...] ...

[ read more ]

Wednesday, April 16, 2008

Functional Programming in C# - Higher-Order Functions

by Andrew Matthews via The Wandering Glitch on 4/16/2008 10:58:06 AM

This is the second in a series on the basics of functional programming using C#. My topic today is one I touched on last time, when I described the rights and privileges of a function as a first class citizen. I'm going to explore Higher-Order Functions this time. Higher-Order Functions are functions that themselves take or return functions. Meta-functions, if you like. ...

[ read more ]

Friday, January 18, 2008

C# by Contract - Using Expression Trees

by Andrew Matthews via The Wandering Glitch on 1/18/2008 6:00:48 AM

Last time I created a simple, but powerful, little design by contract library in C# 3.0. It took hardly any lines of code, and covered a broad range of possible usage scenarios. See here, for more on DBC. One thing that bothered me was the fact that if something failed a check, it wouldn’t tell [...] ...

[ read more ]

Wednesday, January 16, 2008

Complex Assertions using C# 3.0

by Andrew Matthews via The Wandering Glitch on 1/16/2008 3:44:35 AM

Recently I attempted to implement a declarative predicate checking system to allow design by contract (DBC) within C# 3.0. I was not successful due to a limitation in the kind of parameters one can pass to an Attribute constructor in .NET (no lambdas). I thought I’d just follow that up with a simpler model based [...] ...

[ read more ]

Monday, December 31, 2007

The Ambient Context Design Pattern in .NET

by Andrew Matthews via The Wandering Glitch on 12/31/2007 1:14:49 AM

For a piece of agent related work I’m doing at the moment I am making heavy use of multi-threaded development. I’m developing a little special purpose Agent Framework to manage some data that I maintain. As part of that work, I need to have an ambient context object to hold details about the currently active [...] ...

[ read more ]

Wednesday, November 21, 2007

A Generic Class Factory for C# 3.0

by Andrew Matthews via The Wandering Glitch on 11/21/2007 12:02:22 PM

For years I’ve been using a design pattern I picked up back in my Java days to help me make legacy classes more testable with Mock objects. I’ve always had a few doubts about it, but it’s been useful so many times that I’ve never bothered to change it. I always keep a handy code [...] ...

[ read more ]

Saturday, October 20, 2007

Lambda Functions for Design By Contract

by Andrew Matthews via The Wandering Glitch on 10/20/2007 12:35:11 PM

This is sadly not one of those blog posts where I show you what I have managed to achieve. Instead it’s one where I ask you if you have a solution for what I am after. When I was at university, my professor convinced me that the benefits of design by contract were worth the [...] ...

[ read more ]

Lambda Functions in Multi-threaded Development

by Andrew Matthews via The Wandering Glitch on 10/20/2007 11:47:34 AM

I’m on one of Juval Lowy’s WCF Masterclass courses at the moment. Needless to say, my mind is buzzing from the fire-hose brain-dump he’s doing on us at the moment. It’s wonderful to see someone so deeply in command of the technology, not to mention daunting at the sheer incline of the learning curve. He’s [...] ...

[ read more ]

Thursday, June 28, 2007

Dynamic Strongly-Typed Configuration in C#

by Andrew Matthews via The Wandering Glitch on 6/28/2007 9:33:55 PM

I thought it was worth describing this configuration solution, since it was so neat, and easy, and had all of the benefits of text based configuration and strongly typed inline configuration. ...

[ read more ]

Tuesday, June 26, 2007

Using Mock Objects When Testing LINQ Code

by Andrew Matthews via The Wandering Glitch on 6/26/2007 2:56:49 AM

I was wondering the other day whether LINQ could be used with NMock easily. One problem with testing code that has not been written to work with unit tests is that if you test business logic, you often end up making multiple round-trips to the database for each test run. With a very large test [...] ...

[ read more ]

Tuesday, June 05, 2007

LinqToRdf - Designing a Query Provider

by Andrew Matthews via The Wandering Glitch on 6/5/2007 12:04:01 AM

When I started implementing the SPARQL support in LINQ to RDF, I decided that I needed to implement as much of the standard query operators as possible. SPARQL is a very rich query language that bears a passing syntactical resemblance to SQL. It didn’t seem unreasonable to expect most of the operators of LINQ to [...] ...

[ read more ]

Monday, June 04, 2007

LinqToRdf - Progress Update 2007-06-05

by Andrew Matthews via The Wandering Glitch on 6/4/2007 11:57:24 PM

I’ve been given a week by work to try to make some progress on the LINQ to RDF query provider, and I’m glad to say that the query generation phase is now pretty much complete for SPARQL. It’s amazing what a difference a full day can make to your progress, compared to trying to get [...] ...

[ read more ]

Thursday, May 17, 2007

Creating A LINQ Query Provider

by Andrew Matthews via The Wandering Glitch on 5/17/2007 11:20:58 PM

As promised last time, I have extended the query mechanism of my little application with a LINQ Query Provider. I based my initial design on the method published by Bart De Smet, but have extended that framework, cleaned it up and tied it in with the original object deserialiser for SemWeb (a semantic web library [...] ...

[ read more ]

Monday, May 07, 2007

Using RDF and C# to create an MP3 Manager - Part 3

by Andrew Matthews via The Wandering Glitch on 5/7/2007 11:07:17 PM

Last time I hurriedly showed you how you can perform the next step of converting a triple store into an ORM system of sorts. The purpose of all this activity, and the reason I left off blogging about LINQ was that I am working on a system to allow me to use LINQ with a [...] ...

[ read more ]

Using RDF and C# to create an MP3 Manager - Part 2

by Andrew Matthews via The Wandering Glitch on 5/7/2007 10:22:52 AM

I’ve been off the air for a week or two - I’ve been hard at work on the final stages of a project at work that will go live next week. I’ve been on this project for almost 6 months now, and next week I’ll get a well earned rest. What that means is I [...] ...

[ read more ]

Monday, April 16, 2007

Using RDF and C# to create an MP3 Manager - Part 1

by Andrew Matthews via The Wandering Glitch on 4/16/2007 1:22:19 PM

This article follows on from the previous post about semantic web applications in C#. I’ll be using the SemWeb framework again, but this time I chose to demonstrate the capabilities of RDF by producing a simple MP3 file manager. I haven’t completed it yet, and I’ll be working on that over the next few days [...] ...

[ read more ]

Thursday, March 08, 2007

Singleton – the most overused pattern.

by Andrew Matthews via The Wandering Glitch on 3/8/2007 12:24:16 PM

Recently within Readify we’ve been discussing the results of some code reviews we’d done with some of our clients. One issue that came to light was the issues introduced by the excessive use of the singleton pattern. If you’re not familiar with patterns, it’s quite simple. Patterns are a kind of reusable design. The original [...] ...

[ read more ]

Tuesday, January 23, 2007

The Great Domain Model Debate – Solved!

by Andrew Matthews via The Wandering Glitch on 1/23/2007 12:24:17 AM

In almost every version 1.0 system I design, I end up endlessly rehearsing the pros and cons of different implementations of the domain model (or lack of it). It’s getting so tedious that I recently decided to answer the question to my own satisfaction. I produced a spreadsheet with as many design factors that I [...] ...

[ read more ]

Tuesday, January 16, 2007

Nondeterministic Finite Automaton (NDFA) in C#

by Andrew Matthews via The Wandering Glitch on 1/16/2007 5:37:39 AM

Download the source: Example 1. Sad to say, but my holidays are over, and I’m back to work. I tried pretty hard to keep my hands away from the laptop while I was off, but I got itchy fingers towards the end so I had a stab at implementing a non-deterministic finite automaton (NDFA). I implemented [...] ...

[ read more ]

Tuesday, January 02, 2007

New LINQ Wiki Site Started

by Andrew Matthews via The Wandering Glitch on 1/2/2007 12:03:31 AM

Troy Magennis has launched a wiki for LINQ, called Hooked on LINQ. Please visit it, and enrich it! It might become a great source of information in the future, but only if we use it now. At the moment it needs content, and if you have written on the topic, please go there and at the [...] ...

[ read more ]

Thursday, December 14, 2006

How LINQ Works – Creating Queries

by Andrew Matthews via The Wandering Glitch on 12/14/2006 11:13:45 PM

Introduction In recent weeks I’ve been decompiling LINQ with Reflector to try to better understand how expression trees get converted into code. I had some doubts about Reflector’s analysis capabilities, but Matt Warren and Nigel Watson assure me that it can resolve everything that gets generated by the C# 3.0 compiler. I am going to continue disassembling [...] ...

[ read more ]

Subscribe

New Feed

Product Spotlight

Recently Updated Sources

Legal Note

The content of the postings is owned by the respective author. CSharpFeeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on CSharpFeeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.

Advertise with us