Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Hexagonal architecture
in practice
About me
Backend Tech Lead at
Lecturer at Kottans
Andriy Andriyko
What we will talk about
1. What is good architecture?
2. What is hexagonal architecture?
3. Run it! Examples and demo
4. H...
How do you see an
architecture?
What do we want from architecture?
● High Maintainability
● Low Technical Debt
Maintainability
You can become italian chef
Hexagonal architecture
19 10
Слайд про ноду на гексагоне
Perfect fit for Nodejs
Demo
Application core
Primary adapters
Secondary adapters. Notifications
Port
Adapter
Secondary adapters. Repository port
Secondary adapters. Repository Adapter
Project structure
/core
/primaryAdapters
/secondaryAdapters
Project structure. Primary adapters
Project structure. Secondary adapters
Project structure. Core
/core
/component
/port
/sharedKernel
Демка. Запустить
показать
Tests
● Unit
● Integration
● Acceptance
Tests. Unit
Tests. Integration
Tests. Acceptance
Not a silver bullet
When you need Hexagon?
● App have business logic
● App will evolve
● Team is big and project is long-t...
When you don’t need Hexagon?
● Small projects
● Speed more important than maintainability
● There is a better fit for your...
Combine approaches
● Service-oriented architecture
● Microservices
● Serverless
Problems
● Transactions
● Validations
● DB queries optimisation
Conclusions
Pros Cons
Great testability Complexity
Maintainability Easy to over-engineer
Easy handle changes
Delay technic...
Questions?
Contacts
andriy.andriyko@uptech.team
andriy-andriyko
Stormteller
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті
Upcoming SlideShare
Loading in …5
×

of

JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 1 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 2 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 3 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 4 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 5 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 6 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 7 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 8 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 9 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 10 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 11 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 12 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 13 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 14 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 15 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 16 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 17 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 18 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 19 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 20 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 21 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 22 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 23 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 24 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 25 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 26 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 27 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 28 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 29 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 30 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 31 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 32 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 33 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 34 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 35 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 36 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 37 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 38 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 39 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 40 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 41 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 42 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 43 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 44 JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті Slide 45
Upcoming SlideShare
What to Upload to SlideShare
Next

2 Likes

Share

JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті

Ідея гексагональної архітектури полягає в тому, щоб відділити зовнішні взаємодії від бізнес логіки задопомогою так званих портів. Мета - ізолювати центральну логіку вашої програми від зовнішніх залежностей.
Під час виступу хочу поділитися досвідом розробки Nodejs додатку з використанням гексагональної архітектури. Обговоримо підводні камені, з якими можна стикнулися під час розробки, основні перевагами та недолікі архітектури. На прикладі розглянемо, як саме організувати архітектуру в Nodejs середовищі, а також стек технологій, що ми використовували, та підходи до тестування.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

JS Fest 2019/Autumn. Андрей Андрийко. Гексагональна архітектура в Nodejs проекті

  1. 1. Hexagonal architecture in practice
  2. 2. About me Backend Tech Lead at Lecturer at Kottans Andriy Andriyko
  3. 3. What we will talk about 1. What is good architecture? 2. What is hexagonal architecture? 3. Run it! Examples and demo 4. How to test hexagon? 5. Do you really need it? 6. Summary
  4. 4. How do you see an architecture?
  5. 5. What do we want from architecture? ● High Maintainability ● Low Technical Debt
  6. 6. Maintainability
  7. 7. You can become italian chef
  8. 8. Hexagonal architecture
  9. 9. 19 10 Слайд про ноду на гексагоне
  10. 10. Perfect fit for Nodejs
  11. 11. Demo
  12. 12. Application core
  13. 13. Primary adapters
  14. 14. Secondary adapters. Notifications Port Adapter
  15. 15. Secondary adapters. Repository port
  16. 16. Secondary adapters. Repository Adapter
  17. 17. Project structure /core /primaryAdapters /secondaryAdapters
  18. 18. Project structure. Primary adapters
  19. 19. Project structure. Secondary adapters
  20. 20. Project structure. Core /core /component /port /sharedKernel
  21. 21. Демка. Запустить показать
  22. 22. Tests ● Unit ● Integration ● Acceptance
  23. 23. Tests. Unit
  24. 24. Tests. Integration
  25. 25. Tests. Acceptance
  26. 26. Not a silver bullet When you need Hexagon? ● App have business logic ● App will evolve ● Team is big and project is long-term ● Need to change technologies
  27. 27. When you don’t need Hexagon? ● Small projects ● Speed more important than maintainability ● There is a better fit for your problem
  28. 28. Combine approaches ● Service-oriented architecture ● Microservices ● Serverless
  29. 29. Problems ● Transactions ● Validations ● DB queries optimisation
  30. 30. Conclusions Pros Cons Great testability Complexity Maintainability Easy to over-engineer Easy handle changes Delay technical decisions
  31. 31. Questions?
  32. 32. Contacts andriy.andriyko@uptech.team andriy-andriyko Stormteller
  • ssuser0a6958

    Feb. 25, 2020
  • powerirs

    Feb. 12, 2020

Ідея гексагональної архітектури полягає в тому, щоб відділити зовнішні взаємодії від бізнес логіки задопомогою так званих портів. Мета - ізолювати центральну логіку вашої програми від зовнішніх залежностей. Під час виступу хочу поділитися досвідом розробки Nodejs додатку з використанням гексагональної архітектури. Обговоримо підводні камені, з якими можна стикнулися під час розробки, основні перевагами та недолікі архітектури. На прикладі розглянемо, як саме організувати архітектуру в Nodejs середовищі, а також стек технологій, що ми використовували, та підходи до тестування.

Views

Total views

181

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

0

Shares

0

Comments

0

Likes

2

×