Partager via


Cet article a fait l'objet d'une traduction automatique.

Remarque l'éditeur

Création de pilote

Howard Dierking

howardd.ednote.gif

dans ce numéro de* MSDN Magazine*, nous nous concentrons notre attention sur les rubriques liées aux meilleures pratiques dans conception de logiciels. Ce thème est un favori personnel, étant pratiques de conception omniprésents sur tous les sub-specialties du développement de logiciels. Nous avons une programmation intéressante, avec les sujets allant de test d'acceptation et IronRuby aux modèles de présentation dans WPF et même un aperçu général de la plate-forme de « Oslo ».

L'article plus intéressantes pour moi, cependant, est Dave du Laribee « une introduction à création piloté par domaine ». J'AI ont été un abonné à et praticien de penser création piloté par domaine (DDD) étant donné que je lisez livre d'Eric Epèrs du même nom sur quatre années et ont augmenté de cette façon de penser problèmes minimal. Je pense que cela a été principalement en raison d'à la relation complémentaire entre création piloté par domaine, le schéma modèle domaine riche et le développement test-pilotées par le.

Mais lorsqu'il s'agit de création de logiciels, il n'existe pas balle en argent. JE regarde technologies comme Windows Workflow Foundation (WF) et Windows Communication Foundation (WCF) continuer à faire évoluer ; je vois l'équipe suite à l'orientation service. Et je ne peut pas aider mais demandez si mon le respect staunch certaines méthodes recommandées et les heuristiques a provoqué me recréer quelques roues de mon propre ensuite undermine parmi les objectifs de conception bon logiciel, création d'un système plus facile à gérer plus.

Prenons le domaine de problème d'assurance qui Dave fait référence dans son article. I, une fois travaillé dans ce secteur et intégré considéré que J'AI comme une infrastructure plutôt élégante pour valider les configurations de stratégie et calcul des prévisions appelées illustrations. J'AI créé mon modèle de domaine de l'extérieur en utilisant une approche de test-pilotées par le, mappé mon modèle à une base de données en utilisant un mappeur objet-relationnel populaires et projetée mon modèle sur plusieurs couches de présentation. Comme je suite refactor mon modèle de domaine, J'AI remarqué quelques éléments. Tout d'abord, toute la logique (et tous les tests que J'AI avait créé) ont commencé à ressemble à quelque chose qu'a j'vu avant. Et en fait, lorsque j'en Escalier et examiné mon modèle de domaine, J'AI réalisé qu'a essentiellement j'écrit mon propre moteur de règles chaînage vers l'avant.

Conserver N'oubliez pas que le code plus facile à gérer plus est code que vous ne devrez conserver, pensez calcul des illustrations de stratégie. Logique de calcul réel de la société a été créé par actuarial scientifiques utilisant une devise fonctionnelle, généralement symbolic langue comme APL ou le Mathematica. Cette logique était ensuite traduite notre modèle de domaine orientée objet. Que je suis sûr que vous pouvez déduire, un excellent bogues nombreux trouvé pendant les tests de régression a été introduite dans cette conversion.

Lumière de ma propre expérience, je me demande que mon application serait ont examiné comme j'a refactorisé ma logique de validation dans un moteur de règles et utilisé une approche plus polyglot-en fonction de calcul. Mon application toujours aurait domaine-piloté par ? Ou DDD philosophie peut être séparée de ses implémentations plus fréquentes, orienté objet ?

J'AI avez été révision mon ancien code récemment, souhaitent pour voir mon compréhension des principes DDD a été influencée par mon OO compétences de codage et la refactorisation puis pièces appropriées de l'application paradigmes plus appropriées. Ce que j'ai conclu jusqu'est que penser piloté par domaine est toujours une partie essentielle du logiciel de création. En fait, certains éléments de DDD deviennent (plus significatif dans une conception multi-paradigm.) Au final, mon expérience a été un contrôle du fait que le domaine doit lecteur la conception, même lorsqu'il défis quel est à l'aise pour nous en tant que développeurs.

Visitez nous àMSDN.Microsoft.com/Magazine. Questions, commentaires ou suggestions pour MSDN Magazine ? Les envoyer à l'éditeur :mmeditor@Microsoft.com.

**Grâce aux Microsoft techniques experts suivants pour leur aide à résoudre ce problème :**Surupa Biswas Calligaro Mike Gossman John, Heuer tour, Édition Katibah, Richard Gaurav, Krishnamurthy Ravi, Mike Magruder, Molloy Rick Murray Dave, Michael Puleio, Bob Schmidt, Don Smith et Matt Winkler.