"Domain-Driven Design" incorporates numerous examples in Java-case studies taken from actual projects that illustrate the application of domain-driven design to real-world software development.
Building software is harder than ever. As a developer, you not only have to chase ever-changing technological trends but also need to understand the business domains behind the software. This practical book provides you with a set of core patterns, principles, and practices for analyzing business domains, understanding business strategy, and, most importantly, aligning software design with its business needs. Author Vlad Khononov shows you how these practices lead to robust implementation of business logic and help to future-proof software design and architecture. You'll examine the relationship between domain-driven design (DDD) and other methodologies to ensure you make architectural decisions that meet business requirements. You'll also explore the real-life story of implementing DDD in a startup company. With this book, you'll learn how to: Analyze a company's business domain to learn how the system you're building fits its competitive strategy Use DDD's strategic and tactical tools to architect effective software solutions that address business needs Build a shared understanding of the business domains you encounter Decompose a system into bounded contexts Coordinate the work of multiple teams Gradually introduce DDD to brownfield projects
Vaughn Vernon presents concrete and realistic domain-driven design (DDD) techniques through examples from familiar domains, such as a Scrum-based project management application that integrates with a collaboration suite and security provider. Each principle is backed up by realistic Java examples, and all content is tied together by a single case study of a company charged with delivering a set of advanced software systems with DDD.
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.
This book shows how to apply pattern ideas in business applications. It presents more than 20 structural and behavioral business patterns that use the REA (resources, events, agents) pattern as a common backbone. The developer working on business frameworks can use the patterns to derive the right abstractions and to design and ensure that the meta-rules are followed by the developers of the actual applications. The application developer can use these patterns to design a business application, to ensure that it does not violate the domain rules, and to adapt the application to changing requirements without the need to change the overall architecture.
Until now, the literature on innovation has focused either on radical innovation pushed by technology or incremental innovation pulled by the market. In Design-Driven Innovation: How to Compete by Radically Innovating the Meaning of Products, Roberto Verganti introduces a third strategy, a radical shift in perspective that introduces a bold new way of competing. Design-driven innovations do not come from the market; they create new markets. They don't push new technologies; they push new meanings. It's about having a vision, and taking that vision to your customers. Think of game-changers like Nintendo's Wii or Apple's iPod. They overturned our understanding of what a video game means and how we listen to music. Customers had not asked for these new meanings, but once they experienced them, it was love at first sight. But where does the vision come from? With fascinating examples from leading European and American companies, Verganti shows that for truly breakthrough products and services, we must look beyond customers and users to those he calls "interpreters" - the experts who deeply understand and shape the markets they work in. Design-Driven Innovation offers a provocative new view of innovation thinking and practice.
"As a design object beyond its practical purpose, the automobile has left an indelible mark on the world we live in. There is scarcely another everyday item which has been designed in a more sophisticated and inventive manner and which offers a larger projection area. This can be seen with particular clarity in the sports car. The volume pays homage to a selection of exclusive sports cars by legendary manufacturers, from Porsche to Ferrari to Jaguar, as artworks in their own right and as a unity of form, technology, design and emotions. Essays, selected texts and biographies shed light on the multi-layered development of automobile design and introduce the vehicles and their designers."--Publisher's description
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
“In this comprehensive book, Professor Randy Deutsch has unlocked and laid bare the twenty-first century codice nascosto of architecture. It is data. Big data. Data as driver. . .This book offers us the chance to become informed and knowledgeable pursuers of data and the opportunities it offers to making architecture a wonderful, useful, and smart art form.” —From the Foreword by James Timberlake, FAIA Written for architects, engineers, contractors, owners, and educators, and based on today’s technology and practices, Data-Driven Design and Construction: 25 Strategies for Capturing, Applying and Analyzing Building Data addresses how innovative individuals and firms are using data to remain competitive while advancing their practices. seeks to address and rectify a gap in our learning, by explaining to architects, engineers, contractors and owners—and students of these fields—how to acquire and use data to make more informed decisions. documents how data-driven design is the new frontier of the convergence between BIM and architectural computational analyses and associated tools. is a book of adaptable strategies you and your organization can apply today to make the most of the data you have at your fingertips. Data-Driven Design and Construction was written to help design practitioners and their project teams make better use of BIM, and leverage data throughout the building lifecycle.
SHORTLISTED: CMI Management Book of the Year 2017 - Management Futures Category Understand how to drive business performance with your organizational data and analytics in the second edition of Data-Driven Organization Design. Using data and analytics is a key opportunity for businesses to transform performance and achieve success. With a data-driven approach, all the elements of the organizational system can be connected to design an environment in which people can excel and attain competitive advantage. Data-Driven Organization Design provides a practical framework for HR and organization design practitioners to build a baseline of data, set objectives, carry out fixed and dynamic process design, map competencies, and right-size the organization. It shows how to collect the right data, present it meaningfully and ask the most relevant questions of it to help complex, fluid organizations constantly evolve and meet moving objectives. This updated second edition contains new material on organizational planning and analysis, role design and job architecture, position management lifecycle and delta reporting. Alongside this, new case studies and examples will show how these approaches have been applied in practice. Whether planning a long-term transformation, a large redesign or an individual small project, Data-Driven Organization Design will demonstrate how to make the most of your organizational data and analytics to drive business performance.