Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parBaldoin Godet Modifié depuis plus de 11 années
1
Outils de développement pour .NET SharpToolbox 27 juin 2005
Fabrice Marguerie, MVP C#
2
Qui suis-je ? MVP depuis avril 2004
Architecte logiciel sur .NET chez Alti Weblog : Articles sur DotNetGuru Présentations sur .NET Logiciels : PageMethods (metaSapiens) Sites non techniques : ClairDeBulle, OlympicBoard et SharpToolbox bien-sûr !
4
Les besoins Le frawework .NET et Visual Studio font beaucoup mais pas tout Toujours besoin de plus de simplification productivité intégration Des outils pour toutes les phases d’un projet Mais aussi des bibliothèques de code
5
SharpToolbox Commencé sur mon weblog en mars 2003
Rapidement transformé en site dédié Liste les outils, bibliothèques et add-ins Ne liste pas les composants graphiques pour l’instant
6
SharpToolbox Aujourd’hui :
le site de référence plus de 733 outils, dont 214 bibliothèques ! 49 catégories en moyenne 1900 pages vues par jour en semaine Existe désormais pour… Java : JavaToolbox ;-)
7
Les catégories ADO.NET providers AOP ASP.NET Builds Charting
Code analysis - Standards verifiers Code conversion - Language migration Code coverage Code generation Code protection - Obfuscation Code versioning - Source control Compilation Compression Database management DBMS Decompilation Deployment - Installation Documentation - Code commenting Frameworks Geoprocessing Graphics IDEs - IDE add-ins Internet and communications Interoperability Languages Licensing Localization Mainframes - Legacy systems Math - Logic - AI - Rules Miscellaneous Modeling - Architecture - MDA - UML MVC Object browsing - Assembly viewers Object-relational mapping Page templating Persistence - Data-tier Profiling - Debugging RAD - Dev automation Refactoring Regular expressions Remoting Reporting Scripting Security Sound - Audio SVG - XAML Testing Tracing - Logging XML
8
Les catégories Les plus visitées Les plus fournies
Object-relational mapping IDE – IDE add-ins Code generation Code analysis – Standards verifiers ASP.NET Les plus fournies IDE – IDE add-ins (62) Persistence - Data-tier (44) Reporting (41) Object-relational mapping (37) Internet and Communications (37)
9
Les outils Souvent intégrés à Visual Studio Beaucoup sont gratuits
Beaucoup sont open source Certains sont inspirés du monde Java JUnit/NUnit, Ant/Nant, Hibernate/NHibernate, CruiseControl/CruiseControl.NET, etc.
10
Les outils Quelques outils .NET Reflector FxCop Usine de développement
Génération de code Mapping objet-relationnel
11
.NET Reflector Visualisateur d’assemblages, décompilation Essentiel !
Démonstration
12
FxCop Analyse de code, vérification de normes
Objectif : améliorer la qualité Principe : analyse des assemblages pour évaluer le respect de conventions de dénomination la qualité de la conception les risques de sécurité des risques de mauvaises performances Paramétrable Extensible Intégré à Visual Studio 2005
13
FxCop
14
CruiseControl.NET Usine de développement, intégration continue
Objectifs automatiser améliorer la qualité mesurer la qualité industrialiser Principe orchestration intégration des outils rapports, alertes
15
Production Support Monitoring Request catalog Development
Business analyst User Support requests releases documents Request catalog Development Release management Release manager Bug tracking Tester Quality tools tests Project management Project manager Source control Software factory monitoring of all elements Build tools Developer Build manager
16
CruiseControl.NET Ce qu’on peut trouver dans une "chaîne de production" : Compilation (Nant) Analyse de code (FxCop,Vil) Tests unitaires (NUnit, GUnit) Tests de non régression Tests de performance Analyse de la couverture de code (Clover.NET, NClover) Génération de documentation (NDoc) Génération des programmes d’installation …
17
Codesmith Génération de code Objectifs Avantages
automatiser l’écriture de certaines parties d’une application Obtenir du code fortement typé Avantages gain de temps code consistant Principe : application de templates de code sur des méta-données
18
Codesmith Exemples de mise en œuvre : Démonstration
génération d’une couche de persistance génération de collections typées génération d’un module d’administration Génération d’un prototype Démonstration
19
Codesmith Exemple basique
20
Codesmith Exemple avec base de données
21
Mapping objet-relationnel
Objectif : effectuer la mise en correspondance entre modèles objets et relationnels Principe: vous fournissez les classes, la base et la configuration du mapping, l’outil fait le reste
22
Mapping objet-relationnel
Exemple de fichier de configuration <?xml version="1.0" ?> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" namespace="Eg" assembly="Eg"> <class name="Cat" table="CATS" discriminator-value="C"> <id name="Id" column="uid" type="Int64"> <generator class="hilo"/> </id> <discriminator column="subclass" type="Char"/> <property name="Birthdate" type="Date"/> <property name="Color" not-null="true"/> <property name="Sex" not-null="true" update="false"/> <property name="Weight"/> <many-to-one name="Mate" column="mate_id"/> <set name="Kittens"> <key column="mother_id"/> <one-to-many class="Cat"/> </set> <subclass name="DomesticCat" discriminator-value="D"> <property name="Name" type="String"/> </subclass> </class> <class name="Dog"> <!-- mapping for Dog could go here --> </hibernate-mapping>
23
Mapping objet-relationnel
Exemple de code IList cats = session.CreateCriteria(typeof(Cat)).List(); Cat cat = (Cat) session.Load(typeof(Cat), i); cat.Mate = new DomesticCat("Bob"); cat.Kittens.Add(new Cat(...)); session.Save(cat);
24
Les bibliothèques Bibliothèques techniques Mais aussi métier
Traçage (exemple : log4net) Conversion de fichiers, reporting Compression Communication (mail, FTP, sockets, RSS, etc.) Mais aussi métier Finance Calcul, mathématiques, logique Multimédia
25
Conclusion Une richesse exceptionnelle
N’hésitez pas à utiliser des outils tiers pour vous assister Tout ne vient de base ni forcément de Microsoft Il n’est pas toujours évident de trouver le bon outil Visitez SharpToolbox Vos commentaires sont les bienvenus Soumettez les outils manquants
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.