19
Unnamed Project Original faults and profits

Express js clean-controller

Embed Size (px)

Citation preview

Page 1: Express js clean-controller

Unnamed ProjectOriginal faults and profits

Page 2: Express js clean-controller

ExpressJS: Disposable Hero

Page 3: Express js clean-controller

- Express.js is the most popular Node.js web application framework used today

- Not enough experience to understand our needs

- Easy to jump in

Why did we choose ExpressJS?

Page 4: Express js clean-controller

ExpressJS: Default architecture

Page 5: Express js clean-controller

- Routing

- Middlewares

ExpressJS: Key points

Page 6: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

Page 7: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

Data Validators

Page 8: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

Data Validators

Entity Loaders

Page 9: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

Data Validators

Access Control

Entity Loaders

Page 10: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

Data Validators

Access Control

Entity Loaders

Data Mappers

Page 11: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

Data Validators

Access Control

Entity Loaders

Data Mappers

Business Logic

Page 12: Express js clean-controller

ExpressJS: Clean Controllerproblem of overusing

const controller = {

};

Data Validators

Access Control

Entity Loaders

Data Mappers

Business Logic

Page 13: Express js clean-controller

validator

middleware

entity loader

access control

data mapper

controller

middleware middleware middleware middleware

ExpressJS: Clean Controllercleaning out - short flow schema

Page 14: Express js clean-controller

- Load data from source (database)

- Modify request by assigning loaded data to access it from controller

ExpressJS: Clean Controllercleaning out - entity loader schema

Page 15: Express js clean-controller

ExpressJS: Clean Controllercleaning out - full flow schema

error error error

success success success success

errorerror

success

validator entity loader

access control

data mapper controller

top level error handler

request response

Page 16: Express js clean-controller

ExpressJS: Clean Controllercleaning out

Page 17: Express js clean-controller

ExpressJS: Clean Controllercleaning out - using events

Event handler

Module A Module B Module C Controller

request response“Background” functionality

Page 18: Express js clean-controller

Name: Roman SachenkoEmail: [email protected]: roman.sachenko

Page 19: Express js clean-controller

DA - 14 2016