Hexagonal Architecture with Ruby on Rails - Šiašiakampe architektura su Ruby on Rails

Panašūs dokumentai
PowerPoint Presentation

Techninė dokumentacija Qlik Sense architektūros apžvalga 2015 m. gruodis qlik.com

Atviro konkurso sąlygų 4 priedas BENDROJO PAGALBOS CENTRO INFORMACINĖS SISTEMOS APTARNAVIMO PASLAUGŲ TEIKIMO SPECIFIKACIJA 1. Pirkimo objektas Bendroj

Microsoft PowerPoint - SPACEOLYMP PRISTATYMAS Olimpiada Matematika [Compatibility Mode]

Programų sistemų inžinerija Saulius Ragaišis, VU MIF

DBVS realizavimas Pagrindiniai DBVS komponentai Duomenų saugojimas diske Paruošė J.Skučas

CompoundJS Node on rails

Komunikacijos ir dokumentu valdymo platforma

NKSC prie KAM Inovacijų ir mokymų skyrius Lietuvoje parduodamos WiFi įrangos kibernetinio saugumo vertinimas GAMINTOJO D-Link PROD

PowerPoint Presentation

PS Testavimo ir konfigūravimo valdymas Užduotis nr. 1. Karolis Brazauskas Mindaugas Rekevičius Jonas Riliškis Eugenijus Sabaliauskas

Projektas PATVIRTINTA Alytaus Sakalėlio pradinės mokyklos direktoriaus įsakymu Nr. V- ALYTAUS SAKALĖLIO PRADINĖS MOKYKLOS ELEKTRONINIO DIENYNO T

Priedai

Objektiškai orientuota programa yra kompleksinis ir dinamiškas objektų tinkas

Sveiki atvyke i mokykla Litauisk Favrskov Kommune

2017 metų suaugusiųjų mokymosi savaitė

1_II_et_P_Sav_mokymai

7S-18_priedas

Slide 1

VALSTYBINĖS MOKESČIŲ INSPEKCIJOS PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS VIRŠININKAS ĮSAKYMAS DĖL VALSTYBINĖS MOKESČIŲ INSPEKCIJOS PRIE LIETUVO

Title of Presentation

Pardavimų aplikacija (Microsoft Dynamics AX (Axapta) sistemai) Diegimo instrukcija bifree.lt qlik.com

MAGENTO 1.9 OMNIVA MODULIO DIEGIMO INSTRUKCIJA

D1991 Green Energy/IT

PATVIRTINTA Lietuvos banko valdybos 2015 m. sausio 29 d. nutarimu Nr (Lietuvos banko valdybos 2018 m. spalio 30 d. nutarimo Nr redakcij

VLKK

EUROPOS KOMISIJA Briuselis, C(2017) 4679 final KOMISIJOS ĮGYVENDINIMO SPRENDIMAS (ES) / dėl bendros sistemos techninių standa

A D M I N I S T R A C I N I S P A S T A T A S S Ė L I Ų G. 4 8, V I L N I U J E A I Š K I N A M A S I S R A Š T A S

15762 ACO Vario batu valymas LT.indd

smalsuciai_small

PowerPoint Presentation

JŪSŲ SAUGUMUI IR RAMYBEI KATALOGAS 2014

Elektroninio dokumento nuorašas LIETUVOS RESPUBLIKOS ŠVIETIMO IR MOKSLO MINISTRAS ĮSAKYMAS DĖL ŠVIETIMO IR MOKSLO MINISTRO 2011 M. KOVO 16 D. ĮSAKYMO

Rodiklio pavadinimas Data

1 k. BUTAS Vilniaus m. sav., Šnipiškės, Žalgirio g. Tadas Dapkus tel

Lietuvos mokslo ir studijų institucijų kompiuterių tinklas Litnet Vilniaus Gedimino technikos universitetas Virtualių serverių paslauga Paslaugos apra

BASEINO OCTO+ 460, 540, 640 IR 840 MODELIO, AIKŠTELĖS PARUOŠIMAS IR MEDINIO KARKASO SURINKIMAS + LENTJUOSTES MONTAVIMAS + PATIESALO MONTAVIMAS Atlikit

Projektas „Europos kreditų perkėlimo ir kaupimo sistemos (ECTS) nacionalinės koncepcijos parengimas: kreditų harmonizavimas ir mokymosi pasiekimais gr

KTU BIBLIOTEKOS PASLAUGOS

Microsoft Word - LBS.doc

A. Merkys ASOCIACIJA LANGAS Į ATEITĮ, 2015 m. Elektroninis mokymasis Tikriausiai šiais laikais daugelis esate girdėję apie elektroninį bei nuotolinį m

Socialiniai tinklai ir bendrinimas Dalyviai turės progą pagalvoti apie privatumą, kai internete bendrina informaciją ir bendrauja su kitais, o ypač, k

KAUNO TECHNOLOGIJOS UNIVERSITETAS ELEKTROS IR ELEKTRONIKOS FAKULTETAS Kamilė Ciechanavičiūtė DEBESŲ KOMPIUTERIJOS PASLAUGŲ TEIKIMO OPTIMIZAVIMAS B2B M

1 k. PATALPA Vilniaus m. sav., Senamiestis, Vilniaus g. Domantas Grikšas tel

KLAIPĖDOS APSKRITIES VYRIAUSIASIS POLICIJOS KOMISARIATAS SKELBIMAS APIE DARBUOTOJŲ ATRANKAS 2018 m. lapkričio 14 d. Klaipėda Klaipėdos apskrities vyri

N E K I L N O J A M O J O T U R T O R I N K O S D A L Y V I Ų A P K L A U S O S A P Ž V A L G A / 2 NAMŲ ŪKIŲ FINANSINĖS ELG- SENOS APKLAUSOS

EGZAMINO PROGRAMOS MINIMALIUS REIKALAVIMUS ILIUSTRUOJANTYS PAVYZDŽIAI Egzamino programos minimalūs reikalavimai I. METODOLOGINIAI BIOLOGIJOS KLAUSIMAI

VILNIAUS UNIVERSITETO STUDENTŲ ATSTOVYBĖ Vilnius University Students Representation PIRMOS PASKAITOS APKLAUSOS APIBENDRINIMAS FAKULTETUOSE 2011m. RUDE

PowerPoint Presentation

VALSTYBINĖS MOKESČIŲ INSPEKCIJOS PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS VIRŠININKAS ĮSAKYMAS DĖL VALSTYBINĖS MOKESČIŲ INSPEKCIJOS PRIE LIETUVO

VILNIAUS R. PABERŽĖS ŠV. STANISLAVO KOSTKOS GIMNAZIJOS 2, 4, 6 IR 8 KLASĖS MOKINIŲ MOKYMOSI PASIEKIMŲ VERTINIMO PANAUDOJANT DIAGNOSTINIUS IR STANDARTI

PATVIRTINTA Šiaulių miesto savivaldybės tarybos 2016 m. gruodžio 1 d. sprendimu Nr. T-405 ŠIAULIŲ MIESTO SAVIVALDYBĖS BENDROJO UGDYMO MOKYKLŲ TINKLO P

Funkcionalumo išsaugojimas, statybinė

GKTR :2014

KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS Laura Kovalenkovienė PROGRAMINĖS ĮRANGOS KŪRIMO PROJEKTŲ APIMTIES SKAIČIAVIMO METODŲ TYRIMAS

ŠIAULIŲ MIESTO SAVIVALDYBĖS TARYBA SPRENDIMAS DĖL ŠIAULIŲ MIESTO SAVIVALDYBĖS BENDROJO UGDYMO MOKYKLŲ TINKLO PERTVARKOS METŲ BENDROJO PLANO

Nuostatai_festivalis_Sokiai_visiems_2016_Alytus

UGDYMO PROCESO ORGANIZAVIMAS

PowerPoint Presentation

(Microsoft PowerPoint - Mokom\370j\370 program\370 naudojimas.pptx)

Microsoft Word - Dainius_Jurcikonis.doc

TUKE_isakymas_2015.docx

LIETUVIŲ KALBOS IR LITERATŪROS MOKYKLINIO BRANDOS EGZAMINO UŽDUOTIES VERTINIMO INSTRUKCIJA

Microsoft Word - VMI.doc

VIEŠOSIOS KONSULTACIJOS DĖL TRANSLIACIJŲ PERDAVIMO PRIEMONIŲ TEIKIMO PASLAUGŲ RINKOS TYRIMO PASTABŲ VERTINIMAS Eil. Nr. Pastabos teikėjas / pastabų gr

VALSTYBINIO SOCIALINIO DRAUDIMO FONDO VALDYBOS

PATVIRTINTA ISM Vadybos ir ekonomikos universiteto Rektoriaus 2018 m. liepos 23 d. įsakymu Nr NAUDOJIMOSI ISM VADYBOS IR EKONOMIKOS UNIVERSI

Dešimt pamokų kartu su „Swedbank“ programuotojais. Mobiliųjų aplikacijų kūrimo samprata 9 klasėje! Reikalingas, puikus ar šokiruojantis dalykas?

Birutė Kurgonienė Organizacijos lyderio kišeninis vadovas Patarimų ir instrukcijų knyga visais gyvenimo atvejais Vietoj įžangos 13 TURINYS I. ASMENYBĖ

VARTOTOJO INSTRUKCIJA Daikin Altherma Žemos temperatūros "Split" šilumos siurblys

Microsoft Word - CP v3.0.doc

ELEKTRONINIO PARAŠO PRIEŽIŪROS INSTITUCIJOS

IŠ PRAEITOS PASKAITOS - anotacija leidžia nerašyti get/set metodų Norint, kad neraudonuotų sakiniai IDE, reikia atsisiųsti lombok.jar fai

ETNINĖ KULTŪRA -INTEGRALI UGDYMO PROCESO DALIS

Data Suma Pirkėjas Pirkimo objektas , , , , ,

Modulio Mokymosi, asmenybės ir pilietiškumo ugdymosi kompetencija B dalies Asmenybės kultūrinio sąmoningumo kompetencija anketa Gerbiamas (-a) Respond

DIGIPASS DP 260 VARTOTOJO INSTRUKCIJA

Išmaniosios elektros energijos apskaitos tinklo vystymo Lietuvoje kaštų ir naudos analizė Išmaniosios apskaitos diegimo scenarijų kaštų naudos analizė

KANITERAPIN∏S PAGALBOS CENTRAS

Microsoft Word asis TAS.DOC

PRANEŠIMO PAVADINIMAS PRANEŠIMO PAVADINIMAS

21. Ilgis, plotas, perimetras Įvadas Šiame modulyje pateikti įvairaus sudėtingumo uždaviniai apie ilgį, perimetrą ir plotą. Sprendžiant uždavinius rei

LIETUVOS RESPUBLIKOS ŠVIETIMO IR MOKSLO MINISTRO

PATVIRTINTA Asociacijos Klaipėdos žuvininkystės vietos veiklos grupė visuotinio narių susirinkimo protokolu Nr. VIS/ ASOCIACIJOS KLAI

Microsoft PowerPoint - PREZENTACIJA 05-04_KAUET [Compatibility Mode]

Microsoft Word - DV_Rekomendacijos2

Seasonal Lithuanian

LIETUVOS RESPUBLIKOS RYŠIŲ REGULIAVIMO TARNYBA STRATEGIJOS DEPARTAMENTAS EKONOMINĖS ANALIZĖS SKYRIUS 2017 M. I KETVIRTĮ VYKDYTOS ELEKTRONINIŲ RYŠIŲ VE

temos

UAB AMEA Business Solutions Praktiniai IT Sprendimai smulkioms ir vidutin ms mon ms Direktor, Jurgita Vitkauskait , K

MOKSLO METŲ KELMĖS RAJONO UŽVENČIO ŠATRIJOS RAGANOS GIMNAZIJOS MUZIKOS SKYRIAUS UGDYMO PLANO I.BENDROS NUOSTATOS 1. Ugdymo planas reglamen

Priedas Nr.18 PATVIRTINTA Kauno Veršvų gimnazijos direktoriaus 2017 m. liepos.. d. įsakymu Nr. V- KAUNO VERŠVŲ GIMNAZIJA TOLERANCIJOS UGDYMO CENTRO VE

Style Sample for C&N Word Style Sheet

PRIEINAMAS TURIZMAS-TURIZMAS VISIEMS UNIVERSALUS DIZAINAS: TEORIJA IR PRAKTIKA

Slide 1

Microsoft Word - Hiperaktyvus vaikai

VILNIAUS R. VAL NI VIDURIN S MOKYKLOS METODIN S TARYBOS VEIKLOS PLANAS M. M. Val vidurin s mokyklos metodin taryba darb organizuoja vadovaud

ES F ben dri Projekto kodas (Įrašoma automatiškai) 1 PROJEKTO SFMIS DUOMENŲ FORMA FORMAI PRITARTA m. Europos Sąjungos struktūrinės paramos a

LIETUVOS ITS POLITIKA IR ĮGYVENDINIMAS: STATUS QUO IR ESMINIAI POKYČIAI FORMUOJANT ITS DARBOTVARKĘ GRAŽVYDAS JAKUBAUSKAS Konferencija Intelektinės tra

Transkriptas:

Hexagonal Architecture with Ruby on Rails Šiašiakampė architektūra su Ruby on Rails Vilius Luneckas vilius.luneckas@gmail.com #3 Ruby Meetup 2013 Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 1 / 18

Turinys Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 2 / 18

Rails aplikacijos architektūra Paveikslas pasiskolintas iš Matt Wynne Hexaonal Rails prezentacijos Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 3 / 18

Rails aplikacijos architektūra Privalumai: projekto pradžioje leidžia greitai kurti naują funkcionalumą; viskas yra lengvai pasiekiama. Minusai: bėgant laikui kardinalus funkcionalumo keitimas yra sudėtingas; testai lėtėja; naujiems testas reikia paruošti vis daugiau susijusių objektų. Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 4 / 18

Hexagonal Architecture Paveikslas pasiskolintas iš Matt Wynne Hexaonal Rails prezentacijos Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 5 / 18

Atskirdami verslo logiką nuo infrastruktūros gauname šiuos privalumus: Suprantamesnį kodą Šešiakampio viduje visas programinis kodas yra skirtas tik verslo logikai. Išgrynintas, suprantamas. Išorėje kodas rašomas verslo logikos duomenims ir įvykiams perduoti į išorę. Infrastruktūros pakeičiamumą; Testų greitį Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 6 / 18

#1 Use Case Service Paveikslas pasiskolintas iš Victor Savkin straipsnio ( Hexagonal Architecture for Rails Developers ) Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 7 / 18

#2 Passive Controllers Paveikslas pasiskolintas iš Victor Savkin straipsnio ( Hexagonal Architecture for Rails Developers ) Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 8 / 18

#3 Repositories Jei pirmųjų dviejų negana ActiveRecord??? Objektai, atsakingi už bendravimą su DB EDR, git: nulogy/edr Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 9 / 18

Prieš Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 10 / 18

Po Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 11 / 18

Po Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 12 / 18

Pavyzdys su #3 technika Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 13 / 18

Pavyzdys su #3 technika Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 14 / 18

Kas yra kur? Išoriniai įrenginiai UI, DB; Adapteriai OrderController, OrderRepository; Verslo logika User, Order modeliai ir CreateOrder service. Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 15 / 18

Apibendrinimas Šis architektūros tipas padeda atskirti verslo logiką nuo infrastruktūros. Verslo logikos branduolys nieko nežino apie Ruby on Rails karkasą. Apie verslo transakcijų vykdimą, rezultatus praneša adaptariams. Kraštutiniu atveju sistema nieko nežino apie duomenų saugojimo būdą, tam naudoja repozitorijas. Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 16 / 18

Literatūra Refactoring with Hexagonal Rails, Agile Planner Hexagonal Architecture for Rails Developers, Victor Savkin Hexagonal Rails: Objects, Values and Hexagons, Matt Wynne Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 17 / 18

?! Vilius Luneckas #3 Ruby Meetup Hexagonal Architecture with Ruby on Rails 18 / 18