Domain-Driven Design et plus d'un million d'autres livres sont disponibles pour le Kindle d'Amazon. En savoir plus


ou
Identifiez-vous pour activer la commande 1-Click.
ou
en essayant gratuitement Amazon Premium pendant 30 jours. Votre inscription aura lieu lors du passage de la commande. En savoir plus.
Plus de choix
Vous l'avez déjà ? Vendez votre exemplaire ici
Désolé, cet article n'est pas disponible en
Image non disponible pour la
couleur :
Image non disponible

 
Commencez à lire Domain-Driven Design sur votre Kindle en moins d'une minute.

Vous n'avez pas encore de Kindle ? Achetez-le ici ou téléchargez une application de lecture gratuite.

Domain-Driven Design: Tackling Complexity in the Heart of Software [Anglais] [Relié]

Eric Evans
4.5 étoiles sur 5  Voir tous les commentaires (4 commentaires client)
Prix : EUR 46,94 Livraison à EUR 0,01 En savoir plus.
  Tous les prix incluent la TVA
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
En stock.
Expédié et vendu par Amazon. Emballage cadeau disponible.
Voulez-vous le faire livrer le vendredi 1 août ? Choisissez la livraison en 1 jour ouvré sur votre bon de commande. En savoir plus.

Formats

Prix Amazon Neuf à partir de Occasion à partir de
Format Kindle EUR 18,74  
Relié EUR 46,94  

Description de l'ouvrage

20 août 2003

“Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing.

“His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique.

“The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers—it is a future classic.”

Ralph Johnson, author of Design Patterns

 

“If you don’t think you are getting value from your investment in object-oriented programming, this book will tell you what you’ve forgotten to do.

“Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion.”

Dave Collins, author of Designing Object-Oriented User Interfaces

 

“Eric weaves real-world experience modeling—and building—business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric’s descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field.”

Luke Hohmann, author of Beyond Software Architecture

 

“This book belongs on the shelf of every thoughtful software developer.”

Kent Beck

 

“What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important.”

Kyle Brown, author of Enterprise Java™ Programming with IBM® WebSphere®

 

The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process.

 

Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.

 

Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis—refactoring not just the code but the model underlying the code—in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:

  • Getting all team members to speak the same language
  • Connecting model and implementation more deeply
  • Sharpening key distinctions in a model
  • Managing the lifecycle of a domain object
  • Writing domain code that is safe to combine in elaborate ways
  • Making complex code obvious and predictable
  • Formulating a domain vision statement
  • Distilling the core of a complex domain
  • Digging out implicit concepts needed in the model
  • Applying analysis patterns
  • Relating design patterns to the model
  • Maintaining model integrity in a large system
  • Dealing with coexisting models on the same project
  • Organizing systems with large-scale structures
  • Recognizing and responding to modeling breakthroughs

With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.


Offres spéciales et liens associés


Produits fréquemment achetés ensemble

Domain-Driven Design: Tackling Complexity in the Heart of Software + Patterns of Enterprise Application Architecture
Acheter les articles sélectionnés ensemble


Descriptions du produit

Quatrième de couverture

“Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing.

“His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique.

“The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers—it is a future classic.”

     —Ralph Johnson, author of Design Patterns

“If you don’t think you are getting value from your investment in object-oriented programming, this book will tell you what you’ve forgotten to do.

“Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion.”

     —Dave Collins, author of Designing Object-Oriented User Interfaces

“Eric weaves real-world experience modeling—and building—business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric’s descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field.”

     —Luke Hohmann, author of Beyond Software Architecture

"This book belongs on the shelf of every thoughtful software developer."

--Kent Beck

"What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important."

--Kyle Brown, author of Enterprise Java™ Programming with IBM® WebSphere®

The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process.

Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.

Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:

  • Getting all team members to speak the same language
  • Connecting model and implementation more deeply
  • Sharpening key distinctions in a model
  • Managing the lifecycle of a domain object
  • Writing domain code that is safe to combine in elaborate ways
  • Making complex code obvious and predictable
  • Formulating a domain vision statement
  • Distilling the core of a complex domain
  • Digging out implicit concepts needed in the model
  • Applying analysis patterns
  • Relating design patterns to the model
  • Maintaining model integrity in a large system
  • Dealing with coexisting models on the same project
  • Organizing systems with large-scale structures
  • Recognizing and responding to modeling breakthroughs

With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.



Biographie de l'auteur

Eric Evans is the founder of Domain Language, a consulting group dedicated to helping companies build evolving software deeply connected to their businesses. Since the 1980s, Eric has worked as a designer and programmer on large object-oriented systems in several complex business and technical domains. He has also trained and coached development teams in Extreme Programming.




Détails sur le produit

  • Relié: 560 pages
  • Editeur : Addison Wesley; Édition : 1 (20 août 2003)
  • Langue : Anglais
  • ISBN-10: 0321125215
  • ISBN-13: 978-0321125217
  • Dimensions du produit: 23,9 x 18,3 x 3,3 cm
  • Moyenne des commentaires client : 4.5 étoiles sur 5  Voir tous les commentaires (4 commentaires client)
  • Classement des meilleures ventes d'Amazon: 23.030 en Livres anglais et étrangers (Voir les 100 premiers en Livres anglais et étrangers)
  • Table des matières complète
  •  Souhaitez-vous compléter ou améliorer les informations sur ce produit ? Ou faire modifier les images?


En savoir plus sur l'auteur

Découvrez des livres, informez-vous sur les écrivains, lisez des blogs d'auteurs et bien plus encore.

Dans ce livre (En savoir plus)
Parcourir les pages échantillon
Couverture | Copyright | Table des matières | Extrait | Index
Rechercher dans ce livre:

Quels sont les autres articles que les clients achètent après avoir regardé cet article?


Commentaires en ligne 

3 étoiles
0
2 étoiles
0
1 étoiles
0
4.5 étoiles sur 5
4.5 étoiles sur 5
Commentaires client les plus utiles
6 internautes sur 6 ont trouvé ce commentaire utile 
Par Un client
Format:Relié
Dans ce livre, les pratiques "agiles", les contraintes techniques, les aspects humains, tous les aspects du projets sont ici réunis.
Le livre est présenté dans un format pur Design Pattern et donne une grande clarté à cette masse d'information.
Evans prends du recul par rapport aux méthodes 'à la mode' et rassemble ses expériences de terrain dans un incroyable exercice de synthèse.
Avez-vous trouvé ce commentaire utile ?
2 internautes sur 2 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Un large concentré d'expérience et de réflexions 12 novembre 2010
Format:Relié
Ce livre a inauguré la naissance d'une approche, "Domain-Driven Design", qui s'impose de plus en plus dans le développement d'applications exigeantes. Dans ce livre, Eric Evans nous fait partager le fruit de nombreuses années d'expériences passées à développer des logiciels dans des domaines métier forts (finance, logistique, électronique...).

Visiblement l'auteur n'est pas seulement exigeant dans son travail de design et de développement logiciel, mais a en plus réfléchi à sa propre pratique avec une grande profondeur d'analyse. Le résultat est un véritable concentré de remarques, principes et techniques, dans un format "patterns" narratif qui se lit néanmoins du début à la fin. Les insights sur comment partager un modèle entre intervenants d'un projet, et sur le design stratégique suffisent à eux seuls à justifier l'achat du livre, qui comprend bien d'autres chapitres.

Ce livre s'adresse manifestement au développeur expérimenté et curieux, il est tellement concentré qu'il semblera indigeste au néophyte, et il mérite plusieurs lectures (4 pour ma part, avec des découvertes à chaque fois).

Si vous aimez l'orienté objet, la modélisation proche du métier, le développement agile avec XP, les patterns de Martin Fowler et même le style de programmation fonctionel, vous devriez adorer ce livre !
Avez-vous trouvé ce commentaire utile ?
5 internautes sur 6 ont trouvé ce commentaire utile 
4.0 étoiles sur 5 A lire pour tous les analystes informatiques 6 octobre 2003
Format:Relié
C'est un des rares livres qui combine aussi bien les domaines fonctionnels et les domaines techniques de l'informatique.
Je suis émerveillé par l'art d'Eric Evans pour trouver des exemples aussi simples et aussi clairs pour illustrer des principes théoriques aussi profonds.
Un livre à lire par tous les analystes informatiques.
Avez-vous trouvé ce commentaire utile ?
4.0 étoiles sur 5 Excellent, très poussé 23 mai 2013
Format:Format Kindle
un must have pour tous les adeptes DDD ! requiert un minimum de connaissances en architecture et Design patterns. Le métier pris comme exemple est un peu compliqué
Avez-vous trouvé ce commentaire utile ?
Commentaires client les plus utiles sur Amazon.com (beta)
Amazon.com: 4.3 étoiles sur 5  81 commentaires
108 internautes sur 116 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Re-introduces a new way to think about software design 25 décembre 2003
Par Amazon Customer - Publié sur Amazon.com
Format:Relié
If you have even been involved in a software project (a) as a developer and did not know what the end product is going to be used for or how it will be used or (b) as an architect who spent countless hours with your stakeholders and domain experts trying to figure out how to go about architecting your application, then you should read this book. Read it again after you have read it for the first time. This book is packed with pointers, information, tips, how-tos, "down to earth" practical samples, and even conversational examples that one could have while gathering requirements. Evans in his book fills a wide gap that we all tend to come across while designing software applications.
There are many software engineering processes out there, and each one tries to tackle the complexities of designing software applications for a given domain in its own way. Evans recognizes the tools and the processes that are popular in the industry, UML, Agile, and focuses on some aspects of the software engineering process that we tend to miss. He starts the book by talking about the importance of creating and having a Ubiquitous Language. There is a similar concept in the RUP, but not emphasizes as much - or at all. Evans goes into a great detail on why, from the inception of a project, it is important to have a common language and gives many pointers on what makes up the Ubiquitous Language for each project:
"Use the model as the backbone of a language. Commit the team to exercising that language relentlessly within the team and the in the code. Use the same language in diagrams, writing, and especially speech."
Parts II-IV of the book put domain-driven design in perspective, and show the reader thru examples and patterns, architectural patterns, design patterns and process patterns, the importance of having a consistent model that maps to the domain and how to go about achieving such model. In an essence, "Model-Driven Design discards the dichotomy of analysis model and design to search out a single model that serves both purposes".
Part II of the book, introduces the building blocks of a Model-Driven Design. This section, as with the others, takes popular patterns from the Gamma, Flower, or others and applies them to the topic at hand - Model-Driven Design. In that aspect, the reader can easily follow the text and relate to topic at hand. Evans uses the ever-popular Model-View-Controller (MVC) design pattern to get things going in part II. He then goes off to explain why the layered architecture approach is an important aspect of a Domain-Driven Design and how it would makes things simpler:
"[Layered Architecture] allows a model to evolve to be rich enough and clear enough to capture essential business knowledge and put it to work."
The author then goes into great detail in explaining the elements that express a model:
1) Entities: An object that is tracked thru different states or even across different implementations.
2) Value Objects: An attribute that describes the state of something else.
3) Services: Aspects of domain that are expressed as actions or operations, rather than objects.
4) Packages: Organize the objects and services.
What do you want to do after you have designed such elements? The creation and life cycle management of objects are discussed next in this book. Three patterns, mostly from the Gamma book, are used to manage the life cycle of objects:
1) Aggregates.
2) Factories.
3) Repositories.
Aggregates represent the hierarchy of objects or services and their interactions. Factories and Repositories operate of Aggregates and encapsulate the complexity of specific life cycle transitions.
Part III of the book talks about the things developers and architects need to do to achieve a Supple Design. Refactoring over and over represents the topic in this section:
"Each refinement of code and model gives developers a clearer view"
The author talks about a breakthrough point during the design that the "designers see the light" and both the domain experts and the designers, after many iterations, have finally come to this higher level of understanding of the domain and the value of refactoring exponentially increases after that.
Part IV of this book talks about a very important topic that we all have struggled with one time or another: the ability of the model and the modeling process to scale up to very complicated domains. It is great that we can model a small domain, but one goes about modeling an enterprise, which is most likely, too complex to model as a single unit? Low-coupling and high cohesion still applies here, but the goal is to not loose anything during the integration process. The author goes in to a great detail in this part to emphasize that even in large circumstances such as modeling an enterprise, every decision must have a direct impact on system development. Three different themes are covered in this section in order to assist with modeling of large units:
1) Context: the model has to be logically consistent throughout, without contradictory or overlapping definitions. For this theme, the author introduces the concept of a Bonded Context- a way that relationship to other context are defined a overlapping is then avoided.
2) Distillation: Reducing the clutter and focusing attention appropriately.
3) Large-scale Structure. The concept of Responsibility layers are introduced
In summary, Evans did a great job in writing this book, and filling it with useful ways of designing and architecting software applications that target a domain, which in most cases we do not know much about.
142 internautes sur 158 ont trouvé ce commentaire utile 
3.0 étoiles sur 5 Reality Check - Yet Another Patterns Book 25 juin 2004
Par Vladimir Levin - Publié sur Amazon.com
Format:Relié
I bought this book due in part to the glowing reviews here on Amazon so I feel a duty to inject a bit of skepticism, now that I've read it.
5 stars for a technical book indicates to me a book of profound quality that really breaks through with penetrating insights -- The kind of book that makes me think, "Wow, this book has really brought my development practice into a renewed, sharper focus." It doesn't necessarily have to provide radically new material, but it does have to package whatever material it contains in a way that causes the gears in my head to shift around and reorganize themselves. Design Patterns is such a book. XP Explained is such a book. I don't think this one qualifies.
Some good points: The author makes a good case for agile development/extreme programming (close relationship with the customer, unit tests, refactoring...). He seems to believe there may be a tendency to over-emphasize the importance of code and to neglect design in such practices, which may or may not be true in industry at large. But in any case, his major thesis is that it is also important to consider the overall domain model and how well-aligned it is to the goals of the business. He proposes developing a common ("ubiqitous") language between developers and business users, and to unify the various traditional views of a software system (requirements, analysis model, design model, etc..) into one. The advice is quite wholesome and will hopefully promote bringing some harmony between the agile camp and the adherents of high-ceremony approaches such as RUP and CMM.
Some bad points: The book is rather wordy, and a lot of common-sense ideas are repeated at length. I don't feel that the patterns in the book are much more than re-statements of basic principles of OO design. I am not convinced that giving every possible variation on OO programming a fancy name is particularly helpful. Most of the patterns in this book come down to "produce a clean design that removes duplication and attempts to match the business domain." If you're new to OO, I suggest you'd be much better off reading some other books, such as GoF's Design Patterns, Fowler's Refactoring, Page-Jones' Object-Oriented Design in UML, and Kent Beck's XP Explained.
I give this book 3 stars because it's not a bad thing to read a book that makes you think about the importance of the business domain when programming. It's true that this emphasis, while fairly basic, does get lost in a world where specific technologies dominate good design and common sense. I don't think this book can really hurt -- although I have found the "declarative" approach it mentions can be very dangerous in inexperienced hands and can produce utterly unmaintainable code. It's not a bad effort, but it's not an earth shattering revelation either.
52 internautes sur 60 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Read this book to graduate from programmer to designer 25 septembre 2003
Par Brad Appleton - Publié sur Amazon.com
Format:Relié
I think that this book along with Robert Martin's "Agile Software Development, Principles, Patterns, and Practices" and Martin Fowler's "Refactoring" are perhaps the three most fundamental prerequisites for making the leap in knowledge and maturity from object-oriented programming to true proficiency in object-oriented design. The books from Martin and Fowler cover the software solution design space and the core principles and patterns for making code that is resilient to change and easy to maintain. Eric Evans book covers the problem domain space and the abstraction skills that free programmers to "break out of the box" of the implementation domain and solution objects into the critical area the business domain and corresponding domain objects.
I once led a young software team and tried to convey the need for and essence of these skills to them, but I didnt have the right words and terms to do it for their level of experience. I wish this book had been available to me then because I think it would have made a real difference for that team.
54 internautes sur 64 ont trouvé ce commentaire utile 
2.0 étoiles sur 5 Kandinskian Driven Design 22 juillet 2009
Par Riccardo Audano - Publié sur Amazon.com
Format:Relié|Achat vérifié
In italian we have this fun saying" "Dalle stelle alle stalle" which can be translated to "From the stars to the stables" meaning going from brilliant and promising beginnings to a low and humbling ending.. well I find that it describes perfectly this book. Writing a bad tech book is already a mortal sin without making things even worse by raising reader's expectations with a pompous title like "tackling complexity in the heart of sofware". The only thing that this book tackles is the patience of the reader forced to wade through a sea of fluff to find the few interesting ideas that are actually present. It's not that this book contains zero value, it does present some interesting ideas, but the level, usefulness and impact of these ideas are barely enough to justify a series of blog posts, not a book and certainly not a 500 pages book! Add to this lack of structure and organization, continuous repetitions and a pompousness beyond imagination with the annoying habit of continually uppercasing or bolding the "important ideas" and inventing pompous sounding name for simple concepts in the vain attempt to hide their triviality and you will have an idea of the torments that await you if you buy this book and attempt to read it.
The truly facinating question is: "how did this barely decent series of blog posts manage to get so popular and receive respect and good reviews?". I think the answer lies on its cover. It's like with modern art and abstract painting... some guy puts together something kind of original or vaguely interesting or just plain strange, a couple of critics start praising its outstanding aestetics and deep meaning for personal reasons of just as a way to praise themselves who are the only ones able to discern such beauty and meaning , they present the work in an elegant and "important" location and well.. the rest of us deep inside still think it 's fried air, but we still go to the exhibit and dare not say so, since well.. if it's so higly regarded there must be a reason, and maybe it's just that I am not good enough to get it... That's why the best qualification for this book and the attitude it promotes "kandinskian". A (hopefully) failed attempt to transfer to software design and development the horrors of art criticism.
And to the author and whoever shares his love for pompous sounding words and names (or as he would say it: "UBIQUITOUS LANGUAGE") I would advise to reflect on this Feynman quote:
"You can know the name of a bird in all the languages of the world, but when you're finished, you'll know absolutely nothing whatever about the bird... So let's look at the bird and see what it's doing -- that's what counts. I learned very early the difference between knowing the name of something and knowing something."
13 internautes sur 13 ont trouvé ce commentaire utile 
4.0 étoiles sur 5 Perfect content - but too long for many readers 16 septembre 2004
Par Amazon Customer - Publié sur Amazon.com
Format:Relié
In Domain-Driven Design, Evans describes a set of patterns that capture exactly what both MDA and AOP attempts to be a solution to. Evans approach is elegant, yet realistic. Unlike other model-focused approaches, he has a good focus on lessons learned from agile software development like extreme programming, and explains how domain modeling fits in with testing-driven development, iterative and incremental development, and refactoring.

I have one big gripe with this book, however. It is too long. Everything in the book is useful to me, but I would like to see more people read the parts of the book that are relevant to them. If the book had a thinner companion version or a reading guide for people who were in a hurry in the introduction it would be perfect. As it is, I cannot recommend it to "coders" or business analysts, only to software architects and modelers.
Ces commentaires ont-ils été utiles ?   Dites-le-nous
Rechercher des commentaires
Rechercher uniquement parmi les commentaires portant sur ce produit

Discussions entre clients

Le forum concernant ce produit
Discussion Réponses Message le plus récent
Pas de discussions pour l'instant

Posez des questions, partagez votre opinion, gagnez en compréhension
Démarrer une nouvelle discussion
Thème:
Première publication:
Aller s'identifier
 

Rechercher parmi les discussions des clients
Rechercher dans toutes les discussions Amazon
   


Rechercher des articles similaires par rubrique


Commentaires

Souhaitez-vous compléter ou améliorer les informations sur ce produit ? Ou faire modifier les images?