.Net and Team System News - Nadège DEROUSSEN

mercredi 17 août 2005

Programmation orientée aspect

Présentation de l'AOP

Depuis 1997, la programmation orientée aspect (Aspect Oriented Programming - AOP) provoque l'engouement de la communauté scientifique s'intéressant au génie logiciel. Cette technique offre de nouvelles perspective à un principe bien connu en génie logiciel : la séparation des préoccupations. Aujourd'hui, grâce à des outils robustes et éprouvés (JAC), l'AOP intéresse de plus en plus de services informatiques de grands groupes industriels.
Principe
L'AOP permet d'atteindre une parfaite modularisation des programmes informatiques complexes. Ce nouveau mode de programmation est souvent présenté comme une évolution logique de la programmation objet.
Dans les applications objet, le développeur peut séparer les fonctionnalités métier de son application en des modules bien distincs (appelés objets métier). Mais malheureusement, bien des "préoccupation" ne peuvent être correctement modularisées, car elles concernent plusieurs objets métiers différents. Cette problématique peut par exemple concerner la sauvergarde des données, le contrôle des droits d'accès, les processus de workflow ou les transactions. Dans une application objet, le programmeur doit disséminer le code de ces préoccupations au sein du code des objets qui les utilisent. La modularisation n'est donc pas parfaite.
La programmation orientée aspect permet de modulariser, au sein d'entités appelées aspects, ces préoccupations "transverses" (qui concernent plusieurs objets métiers). Les outils AOP, fournissent tous un module logiciel qui permet d'ajouter dans un second temps ces préoccupations transverses au programme initial.
Le développement s'en trouve simplifié. Les bénéfices de l'AOP sont nombreux : Gain de productivité
Réutilisabilité, des objets comme des aspects
Qualité du code
Evolutivité
Simplicité des développements

Source : AOPSYS

samedi 13 août 2005

Créer une clause ORDER BY dynamiquement dans une procédure stockée

En TransacSQL, il n'est pas possible d'utiliser une variable pour définir la colonne à trier. Nous allons donc lister les différents cas possibles en utilisant le 'CASE'. Voici un exemple qui fonctionne avec la base Northwind :
Declare @idp as varchar(100)
select @idp = '2'
select * from Customers
order by Case When @idp = 1 Then CustomerID
When @idp = 2 Then ContactName End