Zork[Yy]'s log

Aller au contenu | Aller au menu | Aller à la recherche

Tag - castle windsor

Fil des billets - Fil des commentaires

Quelques sorties 2010 : Castle Windsor, Dokuwiki, Sympa, jQuery

Quelques mises à jour à effectuer pour 2010 :

  • IoC : Castle Windsor 2.1.1 : ajout du support Silverlight, performances, ...vous avez des besoins ? n'hésitez pas à les exprimer sur UserVoices,
  • Wiki : bon, pas vraiment 2010 mais presque : dokuwiki Lemming du 2009-12-25 patch c : moteur wiki que j'affectionne car il reste simple (sans base de données) et offre une extensibilité appréciable (même s'il est développé en PHP), voir les changelog
  • Listes de diffusion : Sympa version 6.x : SYMPA est un serveur de listes de diffusion, doté d'un API SOAP, et d'innombrables fonctionnalités : authent/ SSO (CAS), moteur de modèles, antispam, hautes-performances / réparti, listes dynamiques, sources de données diverses et variées (LDAP, SQL Server/..., fichiers locaux ou distants, ...) Il est maintenu (développement en Perl) par des français et utilisé de plus en plus aux US.
  • javascript : à moins d'avoir eu une grosse coupure Internet, si vous n'êtes pas au courant : jQuery 1.4

Repository générique et IoC avec Castle Windsor

Repository générique

Lorsque l'on a à interroger plus d'une entité, il convient de factoriser son code afin d'en réduire le nombre de lignes (maintenance, évolution, ...).

Pour cela, on peut utiliser un repository générique qui consiste à factoriser les fonctions les plus communes, à savoir : Get, Delete, Save, GetAll, voire Find en utilisant une expression (lire ce billet sur les find). On peut alors représenter cela au travers d'une interface générique, socle qui sera à compléter pour des besoins plus spécifiques.

public interface IRepository<T>
{
        T GetById(int id);
        void Save(T entite);
        void Delete(T entite);
        List<T> GetAll();
        List<T> Find(Func<T, bool> expression);
}

ou mieux, si l'on souhaite un type generic pour l'ID de nos entités :

public interface IRepository<T,TId>
{
        T GetById(TId id);
        void Save(T entite);
        void Delete(T entite);
        List<T> GetAll();
        List<T> Find(Func<T, bool> expression);
}

Lire la suite...

Links #16 : NHibernate II

C'est l'été avec des mises à jour de versions en perspective.

NHibernate : IoC (Castle Windsor), multi-bases, et relation one-to-one (composition)

Introduction

Poursuivons notre découverte de quelques principes concernant les ORM ou la POO. Dans notre exemple de bibliothèque de médias, je souhaite maintenant appliquer les points suivants :

  • utilisation de plusieurs bases (MySQL, SQLite, MSSQL),
  • représenter une composition entre un média et sa pochette éventuelle (image),
  • utiliser un framework IoC, le conteneur Castle Windsor afin d'instancier les contrôleurs

Lire la suite...