Giter Club home page Giter Club logo

ddd-dynamic's Introduction

Domain Driven Design in dynamic languages

This is an attempt to collect all info about Domain Driven Design the World knows in dynamic languages (Python, Ruby, PHP etc). Not only DDD but all worthy info about layered and clean architecture with separation of business logic from infrastructure and framework code.

So let's go!

Books

Clean Architectures in Python - Book by Leonardo Giordani based on his post

Domain-Driven Rails - a book by Robert Pankowecki & Arkency Team about DDD, CQRS, Event Sourcing related to Rails projects

Stack exchange resources

Separation of business logic and data access in django - Python, Django

Why does domain driven design seem only popular with static languages like C♯ & Java?

Domain Driven Design efforts in dynamic languages?

DDD - Domain Driven Design, which development order should be applied? - Python

Retrieving aggregates from inside of other aggregates - StackOverflow question about aggregates in Python application

Slides founded in slideshare or anywhere else

Hexagonal design in Django - Python, Django, contains some code.

Domain Driven Design com Python - slides in Portuguese, but contains some useful code in Python

Clean Architecture Python (web) apps - Przemek Lewandowski about application of Uncle Bob's Clean Architecture to Python web apps with code examples and type annotations

From Active Record to Events - Emanuele DelBono about using DDD/CQRS/ES in ruby on rails applications

Articles, blogs etc

DDD for Rails developers - whole blog by Victor Savkin about DDD in Ruby on Rails

Domain-Driven Design and MVC Architectures - two articles from Federico Cargnelutti with PHP examples in second part

Value Objects in Java & Python - about Value Object, comparison of value objects in Java and Python

Domain Driven Design methodic Python - A little summary about DDD in Python

Exploring domains with python - A little article with example of Repository and Storage classes

Clean architectures in Python: a step-by-step example - Implementation of Uncle Bob's Clean Architecture in Python. Contains step by step explanation and github repo with all code.

DDD with Ports and Adapters in Python from the made.com tech blog, followed by Repository and Unit of Work Pattern in Python, CQRS / Handlers and Views and Why use Domain Events?

Large web apps in Python: A good architecture - Article with a point that MVC is not enough for large applications and you need separate layer for business logic.

DDD + Ruby subreddit - A subreddit for Ruby developers interested in Domain-Driven Design.

Arkency blog and newsletter - They write about DDD, Event Sourcing and testing in Ruby/Rails a lot. Not just plain text, but code and even webinars occasionally.

Hanami em Production – 2 anos depois: post in Portuguese describing the experience of Creditas at building and maintaining its core app (60k lines of code + 2m request/month) with DDD in Ruby using Hanami framework.

How to Improve on Naming Contexts in Domain-Driven Design - Describes technique of how to find a better name for your bounded contexts.

Talks, videos

Domain-Driven Design with Python - Great talk about DDD and Python with explanations of many DDD topics and code examples by Robert Smallshire from Skills Matter

Domain-Driven Design Patterns in Python - Detailed talk about DDD patterns in Python by Robert Smallshire from EuroPython 2018

The Clean Architecture in Python - Awesome talk on PyOhio2014 from Brandon Rhodes

Hexagonal architecture in Django Talk in Russian by @proofit404, contains code examples and project layout

Domain Driven Design and Hexagonal Architecture with Rails - Ruby on Rails talk from RailsConf 2014 by Eric Roberts and Declan Whelan with code examples

Hexagonal Rails - Ruby on Rails, GoRuCo 2012 by Matt Wynne

Hexagonal Architecture in DDD - Golf with DDD in PHP by Gordon Skinner from PHP UK Conference

Boundaries Python - Talk about Boundaries by Gary Bernhardt from Pycon US 2013

Boundaries Ruby - Same talk by Gary Bernhardt but in Ruby from Ruby Conf 12. Contains QA section.

Hexagonal TDD - TDD implementation of hexagonal architecture of rails application. In 3 parts.

Jim Weirich on Decoupling from Rails - Showcase from Jim Weirich from October CincyRb.

From Active Record to Events - A talk by Emanuele DelBono from Wroclove.rb about DDD/CQRS/ES in Ruby and Ruby on Rails.

Built to last: A domain-driven approach to beautiful systems - RailsConf 2017 talk by Andrew Hao. Techniques for refactoring legacy codebase to DDD style, design overview and code examples.

Technically DDD - Fantastic talk by Pim Elshoff on getting started with DDD using Value Objects, Entities and Services in PHP

Perhap: Applying Domain Driven Design and Reactive Architectures to Functional Programming - a talk by Rob Martin from ElixirConf 2017.

Clean Architecture - PyGotham 2018 talk by Sebastian Buczyński with code and slides. There is also a blog post in Polish

Code, code, code!

dry-python - A set of Python libraries for pluggable business logic components.

Ruby DDD Sample App - Port of DDD Sample Application written in Java in Ruby. Definitely worth reading.

DDD in Django - An attempt to implement DDD and hexagonal architecture in Django

DDD in Flask - A terse example of DDD-inspired architecture using Flask

Kanban in Python - Python implementation of simple kanban board with DDD approach.

Kanban in Clojure - Same in Clojure

Kanban in Python exercises - Same board devided on exercises for students of some workshop by Sixty-North.

Rewind - Rewind is a (CQRS) event store server written in Python. Not that it written with DDD approach but still related.

The Clean Architecture with Python - Reddit discussion about the topic and this gist with proposed architecture and some comments on it.

abidria-api - Django application written with clean architecture. There also an article by Jordi Fierro which explains architecture components and how they interact with each other.

Hanami - A good option out of the Rails world, Hanami is an emerging framework that encourages and helps to design DDD applications in Ruby. The getting started guide references some DDD concepts and how they fit inside the framework.

Revents - A possibile implementation of a DDD/CQRS/ES in Ruby and Ruby on Rails

DDD Rails Sample - project meant to be used as a start point for those who want to build Domain Driven Design applications in Rails.

Paid training and workshops

DDD Patterns in Python - Sixty North offers two-day classroom training on implementing DDD in Python with relational or event-sourced persistence.

Rails + Domain Driven Design Workshop - workshops by Arkency. The page should have a schedule for future workshops and a summary of what to expect from them.

ddd-dynamic's People

Contributors

abdulhaq-e avatar emadb avatar fabriciorissetto avatar filiplajszczak avatar hjwp avatar lrebscher avatar mauricioabreu avatar rob-smallshire avatar stevecshanks avatar valignatev avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.