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
620
Exploring the Scala's Tooling Ecosystem
jedossa
0
730
Consistency without Clocks: The FaunaDB Distributed Transaction Protocol
jedossa
0
180
akka-cluster-k8s
jedossa
0
470
Other Decks in Technology
See All in Technology
20241228 - 成為最強魔法使!AI 實時生成比賽的策略 @ 2024 SD AI 年會
dpys
0
340
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
2
2.3k
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
360
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.6k
AIエージェントに脈アリかどうかを分析させてみた
sonoda_mj
2
130
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
150
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
870
UI State設計とテスト方針
rmakiyama
4
940
.NET 9 のパフォーマンス改善
nenonaninu
0
2.2k
AWS re:Invent 2024 Recap in ZOZO - Serverless で好きなものをしゃべってみた
chongmyungpark
0
1.1k
AWSの生成AIサービス Amazon Bedrock入門!(2025年1月版)
minorun365
PRO
7
360
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
180
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
335
57k
How to Ace a Technical Interview
jacobian
276
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Invisible Side of Design
smashingmag
299
50k
Building Your Own Lightsaber
phodgson
104
6.2k
What's in a price? How to price your products and services
michaelherold
244
12k
Become a Pro
speakerdeck
PRO
26
5.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
490
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
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