Archive for the ‘Pet+Projects’ Category

Tinyject – IoC in an Evening

No Comments »

Last night, while hacking on the Aggressive project, I where in the need of a container. My initial idea was to try out Autofac, but since I was offline at the moment, I quickly hacked together a small container myself. Since I actually thought the look&feel of the interface was exactly what I wanted, I decided to put the source code in a separate project and give it a name; Tinyject. The code can be found here and is licensed under  the Apache License 2.0.

Features:

  • A Register() method in different flavors (including generic versions) for registering concrete types & interfaces in the type map.
    The Register() methods return this, so they can be chained.
  • A Resolve() method in different flavors (including generic versions) for resolving new and existing instances of registered types.
  • An idea of instance lifetime; Transient & Singleton.
  • Property, field and constructor injection.
  • The container implements System.IDisposable, and can be used in a using() { … } scope.
  • A static, thread-safe wrapper, TinyjectStatic.
  • A small number of xUnit-based unit tests to check the integrity of the stuff.

That’s it. At the moment there is no configuration system – and no extensibility points, but I believe the 2.0 version – maybe developed tonight after the baby swimming, will contain a simple extensible configuration model.

If anyone want to design a logo for it – please go ahead :-)

kick it on DotNetKicks.com


Aggressive – Technology Casting

No Comments »

So, with the new project set up – it is time to decide which players to put on the field, and who’s to ditch.

At the moment, the following is in:

  • Visual Studio 2008 / .NET 3.5 / C# 3.0 (SP1)
  • Expression Blend 2 SP1
  • Resharper 4.1
  • CodePlex w/ SvnBridge
  • Silverlight 2 RC0
  • Windows Communication Foundation
  • LINQ to SQL (for first version).
  • xUnit 1.0.3
  • Autofac 1.2.8.423
  • ASP.NET MVC Framework Preview 5

The “maybe” list:

  • Some BDD specification framework
  • Windsor Castle, Ninject or Unity instead of Autofac
  • A mocking framework (RhinoMocks, TypeMock or similar)
  • A documentation tool

The “Not/No way” list:

  • A heavy CASE/UML tool

My Product / Idea Backlog

No Comments »

This post is a work in progress. I feel that I need a place to organize all my pet projects, whether they still only exist in my head or have materialized into some code.

  • Miles Platform

    • Active Directory FOAF Gateway – internal beta
    • Active Directory Photo Uploader – internal beta
    • MOAT (Meaning Of A Tag) service / client – idea
    • Internal Library service / client – prototype
  • WCF related

  • Miscellaneous

    • Agressive – Silverlight-based, lightweight Time Management System – planning/prototyping stage.
    • Visual Studio Theme Explorer – planning phase.
    • Tinyject – A tiny IoC/DI container in about 200 lines of C#.

The idea is to release as many of these under a liberal open license – probably hosted on CodePlex or a similar service.