Dionid / dddl

Domain Driven Design ⚡️ Light ⚡️ Framework for Node.js and TypeScript

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Domain Driven Design ⚡️ Light ⚡️ Component Framework for Node.js and TypeScript

License

Status: DEPRECATED

npm: https://www.npmjs.com/settings/dddl/packages

DEPRECATION NOTES

This library mostly based on OOP principles (like encapsulation, inheritance, rich domain model (RDM), etc.) and js mechanics (like classes), but, as time goes, I realized how Functional approach makes my code much clearer, easy to write and evolve (data and behaviour separation, instead of encapsulation and RDM, composition over inheritance, ADT insted of classes, etc.), that's why I'm on my way to refactore this library in a Functional way.

FROM NOW ON I will work on on this libraries:

  1. 🛌 Fatigue Driven Development (FDD) (https://github.com/Dionid/fdd-ts)
  2. λ Functional Oriented Programming (FOP) (https://github.com/Dionid/fapfop)

Used in

  1. faq.davidshekunts.com (site) + https://github.com/Dionid/headless-faq (repo)

What does "Component Framework" means?

DDD Light is based on multiple patterns, models and ideas, inluding: DDD, CQRS, EDA, SOA, ROP, DAL and so on.

But the main idea of DDD Light is to give you abillity to use those concepts separately:

  • Уou need just Repository? Take @dddl/dal package.
  • You want to include CQRS? Just implement @dddl/cqrs package and that's all.
  • Want power of Event Driven Architecture? @dddl/eda comes to rescue.
  • etc.

There is no need to take whole DDD to your project if you need just a part of it.

This gives you opportunity to include this libraries in existing project concept by concept (package by package).

More about DDD Light you can find here

About

Domain Driven Design ⚡️ Light ⚡️ Framework for Node.js and TypeScript

License:MIT License


Languages

Language:TypeScript 99.8%Language:JavaScript 0.2%