Domain Driven Design Rest Api
Domain driven design applies to the implementation side of things including api implementation while resources in rest api drive the api design and contract.
Domain driven design rest api. Your rest api is running in a user application that talks to the application layer layer 7. We re going to discover how a good domain design is essential to building a great rest api in the first place and. This repository contains a python restful api with the following features. Jinja templates for rest json standard.
The most common style of interface to a module is to use procedures or object methods. Domain driven design application architecture api design event architectures. That s probably best described as an application concern rather than a presentation concern. Dependency injection for configs etc.
Oliver gierke explores some commonalities of domain driven design and rest and how to create rest apis that are driven by the domain. Applying domain driven design to apis and microservices james higginbotham launchany 2. Designing apis and microservices using domain driven design 1. All configs via environment variables.
So if you want a module to calculate a bunch of charges for a contract you might have a billingservice class with a method for doing the calculation. While domain driven design is supposed to take care of complexity in the very core of software rest is usually treated as a plain remoting technology. Falcon gunicorn for http server. Your api tells a story about your company and your vision 3.
Pony orm for relational data. In this talk we re going to explore some of their commonalities in respect to designing both the domain and the resources. In rest the primary role of your api is hypermedia data transfer which is to say converting domain concepts to from hypermedia representations. Domain driven design ddd is the concept that the structure and language of software code class names class methods class variables should match the business domain for example if a software processes loan applications it might have classes such as loanapplication and customer and methods such as acceptoffer and withdraw.