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

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

Clean Architecture

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


Domain Driven Design

Author: Eric Evans
Publisher: Addison-Wesley
ISBN: 9780132181273
Release Date: 2003-08-22
Genre: Computers

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: 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.

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

JavaScript Domain Driven Design

Author: Philipp Fehre
Publisher: Packt Publishing Ltd
ISBN: 9781784391140
Release Date: 2015-07-31
Genre: Computers

JavaScript backs some of the most advanced applications. It is time to adapt modern software development practices from JavaScript to model complex business needs. JavaScript Domain-Driven Design allows you to leverage your JavaScript skills to create advanced applications. You'll start with learning domain-driven concepts and working with UML diagrams. You'll follow this up with how to set up your projects and utilize the TDD tools. Different objects and prototypes will help you create model for your business process and see how DDD develops common language for developers and domain experts. Context map will help you manage interactions in a system. By the end of the book, you will learn to use other design patterns such as DSLs to extend DDD with object-oriented design base, and then get an insight into how to select the right scenarios to implement DDD.

Applying Domain driven Design and Patterns

Author: Jimmy Nilsson
Publisher: Addison-Wesley Professional
ISBN: 0321268202
Release Date: 2006
Genre: Computers

A practical guide to applying patterns in building a customized architecture for the application you are developing.

Continuous Delivery

Author: Eberhard Wolff
Publisher:
ISBN: 9783864919312
Release Date: 2016-03-31
Genre: Computers

Continuous Delivery ermцglicht es, Software viel schneller und mit wesentlich hцherer Zuverlдssigkeit in Produktion zu bringen, als es bisher mцglich war. Grundlage dafьr ist eine Continuous-Delivery-Pipeline, die das Ausrollen der Software weitgehend automatisiert und so einen reproduzierbaren, risikoarmen Prozess fьr die Bereitstellung neuer Releases bietet. Dieses Buch macht Sie mit dem Aufbau einer Continuous-Delivery-Pipeline vertraut und erklдrt, welche Technologien Sie dazu einsetzen kцnnen. Dabei lernen Sie u.a. folgende Themen kennen: • Infrastruktur-Automatisierung mit Chef, Docker und Vagrant • Automatisierung von Builds und Continuous Integration • Akzeptanztests, Kapazitдtstests, exploratives Testen • Einfьhrung von Continuous Delivery im Unternehmen • Continuous Delivery und DevOps • Auswirkungen auf die Softwarearchitektur Als praktisches Beispiel wird ein konkreter Technologie- Stack vorgestellt. Zahlreiche Aufgaben und Vorschlдge fьr weitergehende Experimente laden Sie darьber hinaus zur praktischen Vertiefung des Themas ein. Nach der Lektьre kцnnen Sie abschдtzen, welche Vorteile Continuous Delivery konkret bietet, und Sie verfьgen ьber das nцtige Handwerkszeug, um Continuous Delivery in Ihrem eigenen Arbeitsumfeld zu etablieren. Die Neuauflage wurde in Bezug auf Werkzeuge wie Docker, Jenkins, Graphite und den ELK-Stack aktualisiert. An neuen Themen sind Docker Compose, Docker Machine, Immutable Server, Microservices und die Einfьhrung von Continuous Delivery ohne DevOps hinzugekommen.

Essential Scrum

Author: Kenneth S. Rubin
Publisher: mitp Verlags GmbH & Co. KG
ISBN: 9783826690471
Release Date: 2014-05-20
Genre: Computers

Umfassendes Scrum-Wissen aus der Praxis Mit Vorworten von Mike Cohn und Ron Jeffries Umfassendes Scrum-Wissen auf Team-, Produkt- und Portfolio-Ebene Kernkonzepte, Rollen, Planung und Sprints ausführlich erläutert Auch geeignet zur Vorbereitung auf die Scrum-Zertifizierung Aus dem Inhalt: 1. Teil: Kernkonzepte Scrum-Framework Agile Prinzipien Sprints Anforderungen und User Stories Das Product Backlog Schätzungen und Velocity Technische Schulden 2. Teil: Rollen Product Owner ScrumMaster Entwicklungsteam Strukturen des Scrum-Teams Manager 3. Teil: Planung Scrum-Planungsprinzipien Mehrstufige Planung Portfolio-Planung Visionsfindung/Produktplanung Release-Planung 4. Teil: Sprints Sprint-Planung Sprint-Ausführung Sprint Review Sprint-Retrospektive Dieses Buch beschreibt das Wesen von Scrum – die Dinge, die Sie wissen müssen, wenn Sie Scrum erfolgreich einsetzen wollen, um innovative Produkte und Dienstleistungen zu entwickeln. Es ist entstanden, weil der Autor Kenneth S. Rubin als Agile- und Scrum-Berater oft nach einem Referenzbuch für Scrum gefragt worden ist – einem Buch, das einen umfassenden Überblick über das Scrum-Framework bietet und darüber hinaus die beliebtesten Ansätze für die Anwendung von Scrum präsentiert. Dieses Buch ist der Versuch, die eine entscheidende Quelle für alles Wesentliche über Scrum bereitzustellen. Rubin beleuchtet die Werte, Prinzipien und Praktiken von Scrum und beschreibt bewährte, flexible Ansätze, die Ihnen helfen werden, sie viel effektiver umzusetzen. Dabei liefert er mehr als nur die Grundlagen und weist zudem auf wichtige Probleme hin, die Ihnen auf Ihrem Weg begegnen können. Ob Sie sich nun zum ersten Mal an Scrum versuchen oder es schon seit Jahren benutzen: Dieses Buch weiht Sie in die Geheimnisse des Scrum-Entwicklungsverfahrens ein und vermittelt Ihnen ein umfangreiches Scrum-Wissen auf Team-, Produkt- und Portfolio-Ebene. Für diejenigen, die bereits mit Scrum vertraut sind, eignet es sich als Scrum-Referenz. Rubin hat das Buch nicht für eine bestimmte Scrum-Rolle geschrieben. Stattdessen soll es allen, die direkt oder indirekt mit Scrum zu tun haben, ein gemeinsames Verständnis von Scrum und den Prinzipien, auf denen es beruht, vermitteln. Stellen Sie sich meine Überraschung und mein Entzücken vor, als ich feststellte, dass das Buch praktisch alles behandelt, was man über Scrum wissen muss – sowohl für Anfänger als auch für alte Hasen. Ron Jeffries (aus dem Vorwort) Über den Autor: Kenneth S. Rubin ist zertifizierter Scrum- und Agile-Trainer und -Berater und hilft Unternehmen, ihre Produktentwicklung effektiver und wirtschaftlicher zu gestalten. Er hat inzwischen mehr als 18.000 Menschen in den Bereichen Agile und Scrum, Organisation objektorientierter Projekte und Übergangsmanagement unterwiesen und Hunderten von Unternehmen als Berater zur Seite gestanden. Rubin war der erste Managing Director der weltweit agierenden Scrum Alliance und erfolgreich als Scrum-Product-Owner, ScrumMaster und Entwickler unterwegs.

Mastering Microservices with Java 9

Author: Sourabh Sharma
Publisher: Packt Publishing Ltd
ISBN: 9781787282414
Release Date: 2017-12-07
Genre: Computers

Master the art of implementing scalable microservices in your production environment with ease About This Book Use domain-driven design to build microservices Use Spring Cloud to use Service Discovery and Registeration Use Kafka, Avro and Spring Streams for implementing event based microservices Who This Book Is For This book is for Java developers who are familiar with the microservices architecture and now wants to take a deeper dive into effectively implementing microservices at an enterprise level. A reasonable knowledge level and understanding of core microservice elements and applications is expected. What You Will Learn Use domain-driven design to design and implement microservices Secure microservices using Spring Security Learn to develop REST service development Deploy and test microservices Troubleshoot and debug the issues faced during development Learning best practices and common principals about microservices In Detail Microservices are the next big thing in designing scalable, easy-to-maintain applications. It not only makes app development easier, but also offers great flexibility to utilize various resources optimally. If you want to build an enterprise-ready implementation of the microservices architecture, then this is the book for you! Starting off by understanding the core concepts and framework, you will then focus on the high-level design of large software projects. You will gradually move on to setting up the development environment and configuring it before implementing continuous integration to deploy your microservice architecture. Using Spring security, you will secure microservices and test them effectively using REST Java clients and other tools like RxJava 2.0. We'll show you the best patterns, practices and common principals of microservice design and you'll learn to troubleshoot and debug the issues faced during development. We'll show you how to design and implement reactive microservices. Finally, we'll show you how to migrate a monolithic application to microservices based application. By the end of the book, you will know how to build smaller, lighter, and faster services that can be implemented easily in a production environment. Style and approach This book starts from the basics, including environment setup and provides easy-to-follow steps to implement the sample project using microservices.

Entwurfsmuster

Author: Erich Gamma
Publisher: Pearson Deutschland GmbH
ISBN: 3827330432
Release Date: 2011
Genre: Agile software development