Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Functional Design for Reference Architectures
Search
Jeferson David Ossa
March 19, 2018
Technology
2
240
Functional Design for Reference Architectures
https://nescala.io/2018/#schedule
https://scala.io/2018/talks.html#/#TOX-4454
Jeferson David Ossa
March 19, 2018
Tweet
Share
More Decks by Jeferson David Ossa
See All by Jeferson David Ossa
implicit def bias = stereotypes |+| prejudices
jedossa
0
560
Exploring the Scala's Tooling Ecosystem
jedossa
0
690
Consistency without Clocks: The FaunaDB Distributed Transaction Protocol
jedossa
0
150
akka-cluster-k8s
jedossa
0
460
Other Decks in Technology
See All in Technology
Road to Single Activity
yurihondo
1
140
リアルお遍路+SORACOM IoT
ozk009
1
110
エンジニア向け会社紹介資料
caddi_eng
15
250k
20分で分かるIAM全機能 (拡大版) / 20240903-jawsug-yokohama-iam
opelab
3
140
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
130
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
290
実践的なバグバウンティ入門
scgajge12
4
2.4k
Segment Anything Model 2
tenten0727
2
490
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
300
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.5k
SAVEPOINT α版
savepoint
0
600
四国クラウドお遍路 2024 in 高知 エンディング
yukataoka
0
180
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
29
2.8k
KATA
mclloyd
27
13k
Large-scale JavaScript Application Architecture
addyosmani
508
110k
Embracing the Ebb and Flow
colly
83
4.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
80
5.1k
Facilitating Awesome Meetings
lara
49
5.9k
The Language of Interfaces
destraynor
153
23k
Designing with Data
zakiwarfel
98
5k
Side Projects
sachag
451
42k
The Cost Of JavaScript in 2023
addyosmani
41
5.2k
Why Our Code Smells
bkeepers
PRO
334
56k
RailsConf 2023
tenderlove
27
800
Transcript
Functional Design for Reference Architecture An experience report
About me Jeferson David Ossa @unyagami on twitter FP Professor
Developer at Seven4n
Context • Engineers with Java background (mostly) • Monolithic architecture
• Emerging market • Increasing business complexity • Need for speed • New needs, new approaches
Rediscovering FP • Reducing complexity ◦ Data in => Data
out ◦ Parameterize all things ◦ Type-safe ◦ Immutability • Growing complexity ◦ Apomorphisms ◦ Dynamorphisms ◦ Chronomorphisms ◦ Zygohistomorphic prepromorphisms
Object-Oriented Meets Functional FP Functions Functions Functions Functions Functions in
the small, objects in the large OO Single responsibility Open/Close Dependency inversion Factory pattern etc.
Challenges • Continue delivering business value • Onboarding new team
members • Lack of experts on FP • Stop doing “better Java” • Knowledge management
Our approach • Fine-grained control of decisions • Code/Tests as
documentation • An easy to evolve artifact • Everyone in the team can contribute • A framework was not enough
Reference architecture “A reference architecture is a set of documents
to which an interested party can refer to for best practices, common standards, specifications and patterns” - DDD - Microservices - CQRS - ADT - DSL/Tagless - Onion/Clean/Hexagonal architecture
Service View µ-service Ports/Adapters Domain Services Infrastructure ACL
Let's check out some code warning: boilerplate code ahead
Final thoughts • It is complex to get simple •
Abstractions have complexity costs • Keep studying • Focus on people • Measures of success
Thank you for listening! s4n.co