Skip to content

Latest commit

 

History

History
20 lines (18 loc) · 1.04 KB

README.md

File metadata and controls

20 lines (18 loc) · 1.04 KB

The provided sample code is a small skeleton C# Web API application. It can be opened and run in Visual Studio 2015. The application manages users and their tasks.

The sample demonstrates a lot of concepts that I consider as "good design practices".

Some key features:

  • follows SOLID principles
  • embraces DDD concepts
  • embraces TDD concepts
  • REST API
  • low coupling
  • uses dependency injection
  • code easy to test and mock
  • used design patterns: factory, singleton, adapter, composite, decorator, flyweight, template
  • DAL is fully decoupled and can easily be replaced (a simple in-memory database is used, but it can easily be replaced with any ORM/NoSql/Object DB, or a combination of all of them)
  • domain objects are mapped to database objects, and vise-versa, in DAL (data structures can differ)
  • domain objects are mapped to DTO objects, and vise-versa, in services (data structures can differ)
  • "Request-Response" pattern in services
  • "Common" components are generic, domain agnostic and can be reused in multiple projects