Bonjour,
Voilà, maintenant que j'appréhende assez bien les possibilitées du framework .NET 2.0. Je développe des applis qui sont à 80% des applis dites de gestion et je souhaiterais concevoir mes projets de la manière suivante :
-Une couche d'accés aux données générée avec un générateur de code.
-Une couche métier que je code en fonction des spécifs.
-Une couche présentation en utilisant au maximum le databinding (avec mes objets en datasource).
Je n'ai pas besoin d'une forte indépendance des couches mais la séparation en 3 couches me permettra de mieux maintenir mon code et de réutiliser mes couches data/métier dans un autre projet.
Le problème que je rencontre actuellement, c'est que tous les générateurs de code que j'ai trouvé gènèrent un code mal adapté aux nouveautées de .NET 2.0 à savoir :
-Les générics.
-La possibilitée d'avoir des objets comme source de donnés.
Sur ce deuxième point, un problème récurent est qu'on ne peut pas ni filtrer ni trier des bindingSources ayant un objet comme source de données. Que ce soit un généric ou une liste typé faite par un générateur on se retrouve avec une BindingSource "bridé" ce qui est assez pénalisant quand on veut un interface un minimum riche (pouvoir trier par colonne et faire des filtres c'est quand même les bases).
Alors biensur rien ne m'oblige à utiliser une BindingSource ... certe, mais il faut quand même avouer que la conception d'interfaces graphiques et le code que ça engendre derrière pour faire quelques vues maitre/détail avec 2-3 liaisons est bien plus rapide et éfficace avec une bonne BindingSource.
Le temps de développement de la partie UI est forcément allongé si on utilise pas le DataBinding à fond, plus les risques d'érreurs de code (forcément plus on code plus on a de chance de faire des érreurs).
La modèle DataSet/DataAdapter me plait de moins en moins, trés rigide, trés opaque, qui peu le plus peut le moins mais le dataset me semble souvent être une grosse uzine à gaz dont je n'utilise que 10% des méthodes . En plus j'ai souvent plus de 50 Tables en base de donnée, imaginnez un dataset de 50 Tables !!! ingérable ...
En gros j'ai l'impression d'avoir le choix :
-Soit une DAL "propre" que je génère avec un générateur de code mais derrière une compléxité supplémentaire pour coder la partie UI.
-Soit une DAL basée sur des Dataset avec difficultée de séparer la couche métier/data mais une UI plus facile à concevoir.
Et vous comment faites vous ? Quels outils utilisez vous ?
Partager