Domain Driven Design Graphql
Explaining all the areas where we see value in domain driven design is probably best fit for a separate post but for this addition of graphql it s mainly important that these layers are separate encapsulations.
Domain driven design graphql. Mon feb 12 2018 6 30 pm. A cloud native builder application for collaborative workflow around ssot between developers and non developers alike. We ll only need to concern ourselves with the controller layer as everything further downstream from that is unaware that express is how we currently handle requests. In domain driven design author eric evans suggests one way to reign in this type of growing complexity.
Graphql is defined as query language for apis and a runtime for fulfilling those queries with your existing data it has spawned a technology ecosystem that serves a purpose much higher than just enabling querying of data. Create document edit manage publish populate data test verify and deploy graphql schema based data models and api s. Built for domain driven design principles. Domain driven design with graphql on ruby on rails api.
Extreme discipline around the language used to describe the problem and its solution choose nouns and verbs to describe sets of related processes problems and solutions that are precise and consistent forming an ubiquitous language that developers users and domain experts can all. Graphql is key in enabling domain driven architecture. Architecting domain driven graphql apps setup a reference architecture for your team to build complex graphql apps with hasura. Engineers and domain experts will need to work together closely to evolve the ubiquitous language to accommodate new and changing requirements.
Graphql is a tool that is able to closely reflect the conceptual domain model of a software and provides a standardized way of exposing the domain model s apis and defining the modality of interaction with the domain. To make this work with a graphql api consider having non technical people review proposed changes to the schema ideally they can play around with the changes in. Integrate your favourite frontend backend ci cd tooling for maximum feature velocity. Domain driven graphql means putting an effort into understanding the domain you work in and using that knowledge to drive development against a model of the business that mimics how it works in the real world.
With graphql being the effective next generation tool for modeling domains teams that adopt it will almost certainly be at an advantage over those that don t. Feb 14 2018 4 min read.