Implementing Domain Driven Design

Author: Vaughn Vernon
Publisher: Addison-Wesley
ISBN: 9780133039887
Release Date: 2013-02-06
Genre: Computers

“For software developers of all experience levels looking to improve their results, and design and implement domain-driven enterprise applications consistently with the best current state of professional practice, Implementing Domain-Driven Design will impart a treasure trove of knowledge hard won within the DDD and enterprise application architecture communities over the last couple decades.” –Randy Stafford, Architect At-Large, Oracle Coherence Product Development “This book is a must-read for anybody looking to put DDD into practice.” –Udi Dahan, Founder of NServiceBus Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations. Building on Eric Evans’ seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment. The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals. Coverage includes Getting started the right way with DDD, so you can rapidly gain value from it Using DDD within diverse architectures, including Hexagonal, SOA, REST, CQRS, Event-Driven, and Fabric/Grid-Based Appropriately designing and applying Entities–and learning when to use Value Objects instead Mastering DDD’s powerful new Domain Events technique Designing Repositories for ORM, NoSQL, and other databases

Applying Domain Driven Design and Patterns

Author: Jimmy Nilsson
Publisher: Pearson Education
ISBN: 0132797496
Release Date: 2006-05-08
Genre: Computers

Patterns, Domain-Driven Design (DDD), and Test-Driven Development (TDD) enable architects and developers to create systems that are powerful, robust, and maintainable. Now, there’s a comprehensive, practical guide to leveraging all these techniques primarily in Microsoft .NET environments, but the discussions are just as useful for Java developers. Drawing on seminal work by Martin Fowler (Patterns of Enterprise Application Architecture) and Eric Evans (Domain-Driven Design), Jimmy Nilsson shows how to create real-world architectures for any .NET application. Nilsson illuminates each principle with clear, well-annotated code examples based on C# 1.1 and 2.0. His examples and discussions will be valuable both to C# developers and those working with other .NET languages and any databases–even with other platforms, such as J2EE. Coverage includes · Quick primers on patterns, TDD, and refactoring · Using architectural techniques to improve software quality · Using domain models to support business rules and validation · Applying enterprise patterns to provide persistence support via NHibernate · Planning effectively for the presentation layer and UI testing · Designing for Dependency Injection, Aspect Orientation, and other new paradigms

Domain Driven Design kompakt

Author: Vaughn Vernon
Publisher: dpunkt.verlag
ISBN: 9783960881797
Release Date: 2017-06-01
Genre: Computers

Domain-Driven Design (DDD) richtet den Fokus in der Softwareentwicklung auf das Wesentliche: die Domäne. Die Domäne wird als Modell in die Software übertragen. Damit entwickeln Sie Software in hoher Qualität, die lange hält, den Anwender zufriedenstellt und die Basis für Microservices bildet. Dieses Buch bietet einen kompakten Einstieg in DDD. Die wesentlichen Konzepte, wie die Entwicklung einer Ubiquitous Language, das Aufteilen der Domäne in Bounded Contexts und die Konstruktion innerhalb von Bounded Contexts, werden vermittelt. Außerdem wird die Anbindung von Legacy-Systemen behandelt. Die Themen im Einzelnen: - Strategisches Design mit Bounded Contexts und der Ubiquitous Language - Strategisches Design mit Subdomains - Strategisches Design mit Context Mapping - Taktisches Design mit Aggregates - Taktisches Design mit Domain Events Auch auf Techniken zur Beschleunigung von Design und das Management von Projekten wird eingegangen. Insbesondere wird erläutert, wie Event Storming, DDD in einem agilen Projekt und die Modellierung mit Timebox funktionieren. Der Leser findet in diesem Buch viele konkrete Handlungsvorschläge für die Praxis und wird so befähigt, die Zusammenarbeit von Entwicklern und Domain Experts sowie zwischen Teams zu fördern. Als Extra befindet sich ein Glossar mit den wichtigsten DDD-Begriffen auf den Umschlaginnenseiten.

Domain Driven Design Distilled

Author: Vaughn Vernon
Publisher: Addison-Wesley Professional
ISBN: 0134434420
Release Date: 2016
Genre: Computers

Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it. Now, for the first time, there's an accessible guide to the basics of DDD: What it is, what problems it solves, how it works, and how to quickly gain value from it. Concise, readable, and actionable, Domain-Driven Design Distilled never buries you in detail-it focuses on what you need to know to get results. Vaughn Vernon, author of the best-selling Implementing Domain-Driven Design, draws on his twenty years of experience applying DDD principles to real-world situations. He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter. Vernon guides you through each core DDD technique for building better software. You'll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms. Domain-Driven Design Distilled brings DDD to life. Whether you're a developer, architect, analyst, consultant, or customer, Vernon helps you truly understand it so you can benefit from its remarkable power. Coverage includes What DDD can do for you and your organization-and why it's so important The cornerstones of strategic design with DDD: Bounded Contexts and Ubiquitous Language Strategic design with Subdomains Context Mapping: helping teams work together and integrate software more strategically Tactical design with Aggregates and Domain Events Using project acceleration and management tools to establish and maintain team cadence

Langlebige Software Architekturen

Author: Carola Lilienthal
Publisher: dpunkt.verlag
ISBN: 9783960882459
Release Date: 2017-07-20
Genre: Computers

Zu Beginn eines Projekts erarbeiten die Architekten und das Entwicklungsteam eine zugeschnittene Architekturblaupause für die anstehende Entwicklung. Aber während der Implementierung weicht das Team häufig ungewollt von dieser Vorgabe ab. Die Folge davon: Die Architektur des Systems erodiert, die Komplexität nimmt zu, und es werden technische Schulden aufgebaut. Wartung und Erweiterung der Software werden immer aufwendiger. In diesem Buch zeigt die Autorin, welche Fehler in Softwareprojekten bei der Umsetzung der Architektur vermieden werden sollten und welche Prinzipien eingehalten werden müssen, um langlebige Architekturen zu entwerfen oder bei bestehenden Systemen zu langlebigen Architekturen zu gelangen. Sie geht auf Muster in Softwarearchitekturen und Mustersprachen ein, erläutert verschiedene Architekturstile und zeigt, welche Vorgaben letztlich zu Architekturen führen, die für Entwickler noch gut durchschaubar sind. Mit über 200 farbigen Bildern aus real existierenden Softwaresystemen und etlichen Fallbeispielen werden schlechte und gute Lösungen verständlich und nachvollziehbar dargestellt. Empfehlungen und vielfältige Hinweise aus Praxisprojekten erlauben dem Leser einen direkten Transfer zu seiner täglichen Arbeit. Die 2. Auflage misst Microservices und Domain-Driven Design mehr Gewicht bei. Hinzugekommen sind die Themen Vergleichbarkeit von verschiedenen Systemen durch den Modularity Maturity Index sowie Mob Architecting. "Ihre langjährigen Erfahrungen auf dem Gebiet der Architekturanalyse von Systemen unterschiedlicher Technologien sind einzigartig. Dadurch stellt sie [Carola Lilienthal] in jedem Winkel dieses Buches den nötigen Praxisbezug her." Aus dem Geleitwort von Gernot Starke

Clean Architecture

Author: Robert C. Martin
Publisher: MITP-Verlags GmbH & Co. KG
ISBN: 9783958457263
Release Date: 2018-02-20
Genre: Computers


Microservices

Author: Sam Newman
Publisher: MITP-Verlags GmbH & Co. KG
ISBN: 9783958450837
Release Date: 2015-07-06
Genre: Computers

Feingranulare Systeme mit Microservices aufbauen Design, Entwicklung, Deployment, Testen und Monitoring Sicherheitsaspekte, Authentifizierung und Autorisierung Verteilte Systeme haben sich in den letzten Jahren stark verändert: Große monolithische Architekturen werden zunehmend in viele kleine, eigenständige Microservices aufgespalten. Aber die Entwicklung solcher Systeme bringt Herausforderungen ganz eigener Art mit sich. Dieses Buch richtet sich an Softwareentwickler, die sich über die zielführenden Aspekte von Microservice-Systemen wie Design, Entwicklung, Testen, Deployment und Monitoring informieren möchten. Sam Newman veranschaulicht und konkretisiert seine ganzheitliche Betrachtung der grundlegenden Konzepte von Microservice-Architekturen anhand zahlreicher praktischer Beispiele und Ratschläge. Er geht auf die Themen ein, mit denen sich Systemarchitekten und Administratoren bei der Einrichtung, Verwaltung und Entwicklung dieser Architekturen in jedem Fall auseinandersetzen müssen. Aus dem Inhalt: Vorteile von Microservices Gestaltung von Services Ausrichtung der Systemarchitektur an der Organisationsstruktur Möglichkeiten zur Integration von Services Schrittweise Aufspaltung einer monolithischen Codebasis Deployment einzelner Microservices mittels Continuous Integration Testen und Monitoring verteilter Systeme Sicherheitsaspekte Authentifizierung und Autorisierung zwischen Benutzer und Service bzw. zwischen Services untereinander Skalierung von Microservice-Architekturen »Microservice-Architekturen besitzen viele interessante Eigenschaften, allerdings sind bei der Umstellung so einige Fallstricke zu beachten. Dieses Buch wird Ihnen helfen herauszufinden, ob Microservices für Ihre Zwecke geeignet sind und zeigt Ihnen, wie Sie die Fallstricke umgehen können.« Martin Fowler, Chief Scientist, ThoughtWorks

Grundlagen des modularen Softwareentwurfs

Author: Herbert Dowalil
Publisher: Carl Hanser Verlag GmbH Co KG
ISBN: 9783446456006
Release Date: 2018-05-07
Genre: Computers

Hier geht es um das Geheimnis langlebiger Softwarearchitektur - Zerlegung in effiziente, weil modulare Strukturen Die klassischen Muster der Softwarearchitektur versagen, wenn die IT-Landschaft zu komplex wird. Zurzeit werden neue Prinzipien und Muster entwickelt, welche genau diese Komplexität in geordnete Bahnen lenken sollen. Dieses Buch handelt exakt davon! Über Softwarearchitektur Erfahren Sie Grundlegendes zu verschiedenen Definitionen des Themas Softwarearchitektur, und wie diese in Wechselwirkung zur Organisation eines Unternehmens stehen. Modulares Softwaredesign Lernen Sie die Prinzipien kennen, welche langlebige Softwaredesigns auszeichnen. Durch den Einsatz entsprechender Pattern entsteht eine gut wartbare Codebasis, die dazu in der Lage ist, langfristig weiter zu wachsen. Muster langlebiger Enterprise SOA Die Königsdisziplin der Softwarearchitektur ist bestimmt der Entwurf besonders großer IT-Landschaften. Lesen Sie, wie sich die Muster gut strukturierten Codes auch auf die Strukturen einer Makro-Architektur anwenden lassen.

Entwurfsmuster

Author:
Publisher: Pearson Deutschland GmbH
ISBN: 3827328241
Release Date: 2009
Genre:


Clean Coder

Author: Robert C. Martin
Publisher: mitp Verlags GmbH & Co. KG
ISBN: 9783826632082
Release Date: 2014-03-24
Genre: Computers

Verhaltensregeln für professionelle Programmierer Erfolgreiche Programmierer haben eines gemeinsam: Die Praxis der Software-Entwicklung ist ihnen eine Herzensangelegenheit. Auch wenn sie unter einem nicht nachlassenden Druck arbeiten, setzen sie sich engagiert ein. Software-Entwicklung ist für sie eine Handwerkskunst. In Clean Coder stellt der legendäre Software-Experte Robert C. Martin die Disziplinen, Techniken, Tools und Methoden vor, die Programmierer zu Profis machen. Dieses Buch steckt voller praktischer Ratschläge und behandelt alle wichtigen Themen vom professionellen Verhalten und Zeitmanagement über die Aufwandsschätzung bis zum Refactoring und Testen. Hier geht es um mehr als nur um Technik: Es geht um die innere Haltung. Martin zeigt, wie Sie sich als Software-Entwickler professionell verhalten, gut und sauber arbeiten und verlässlich kommunizieren und planen. Er beschreibt, wie Sie sich schwierigen Entscheidungen stellen und zeigt, dass das eigene Wissen zu verantwortungsvollem Handeln verpflichtet. In diesem Buch lernen Sie: Was es bedeutet, sich als echter Profi zu verhalten Wie Sie mit Konflikten, knappen Zeitplänen und unvernünftigen Managern umgehen Wie Sie beim Programmieren im Fluss bleiben und Schreibblockaden überwinden Wie Sie mit unerbittlichem Druck umgehen und Burnout vermeiden Wie Sie Ihr Zeitmanagement optimieren Wie Sie für Umgebungen sorgen, in denen Programmierer und Teams wachsen und sich wohlfühlen Wann Sie Nein sagen sollten – und wie Sie das anstellen Wann Sie Ja sagen sollten – und was ein Ja wirklich bedeutet Großartige Software ist etwas Bewundernswertes: Sie ist leistungsfähig, elegant, funktional und erfreut bei der Arbeit sowohl den Entwickler als auch den Anwender. Hervorragende Software wird nicht von Maschinen geschrieben, sondern von Profis, die sich dieser Handwerkskunst unerschütterlich verschrieben haben. Clean Coder hilft Ihnen, zu diesem Kreis zu gehören. Über den Autor: Robert C. Uncle Bob Martin ist seit 1970 Programmierer und bei Konferenzen in aller Welt ein begehrter Redner. Zu seinen Büchern gehören Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code und Agile Software Development: Principles, Patterns, and Practices. Als überaus produktiver Autor hat Uncle Bob Hunderte von Artikeln, Abhandlungen und Blogbeiträgen verfasst. Er war Chefredakteur bei The C++ Report und der erste Vorsitzende der Agile Alliance. Martin gründete und leitet die Firma Object Mentor, Inc., die sich darauf spezialisiert hat, Unternehmen bei der Vollendung ihrer Projekte behilflich zu sein.

Domain Driven Design in PHP

Author: Carlos Buenosvinos
Publisher: Packt Publishing Ltd
ISBN: 9781787288461
Release Date: 2017-06-14
Genre: Computers

Real examples written in PHP showcasing DDD Architectural Styles, Tactical Design, and Bounded Context Integration About This Book Focuses on practical code rather than theory Full of real-world examples that you can apply to your own projects Shows how to build PHP apps using DDD principles Who This Book Is For This book is for PHP developers who want to apply a DDD mindset to their code. You should have a good understanding of PHP and some knowledge of DDD. This book doesn't dwell on the theory, but instead gives you the code that you need. What You Will Learn Correctly design all design elements of Domain-Driven Design with PHP Learn all tactical patterns to achieve a fully worked-out Domain-Driven Design Apply hexagonal architecture within your application Integrate bounded contexts in your applications Use REST and Messaging approaches In Detail Domain-Driven Design (DDD) has arrived in the PHP community, but for all the talk, there is very little real code. Without being in a training session and with no PHP real examples, learning DDD can be challenging. This book changes all that. It details how to implement tactical DDD patterns and gives full examples of topics such as integrating Bounded Contexts with REST, and DDD messaging strategies. In this book, the authors show you, with tons of details and examples, how to properly design Entities, Value Objects, Services, Domain Events, Aggregates, Factories, Repositories, Services, and Application Services with PHP. They show how to apply Hexagonal Architecture within your application whether you use an open source framework or your own. Style and approach This highly practical book shows developers how to apply domain-driven design principles to PHP. It is full of solid code examples to work through.