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
250
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
740
Exploring the Scala's Tooling Ecosystem
jedossa
0
770
Consistency without Clocks: The FaunaDB Distributed Transaction Protocol
jedossa
0
220
akka-cluster-k8s
jedossa
0
480
Other Decks in Technology
See All in Technology
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
370
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
420
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
540
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
340
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
680
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.7k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.7k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
6
740
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
150
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
220
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
500
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
440
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Six Lessons from altMBA
skipperchong
28
4k
GitHub's CSS Performance
jonrohan
1032
460k
BBQ
matthewcrist
89
9.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Pragmatic Product Professional
lauravandoore
36
6.9k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Making Projects Easy
brettharned
117
6.4k
Fireside Chat
paigeccino
39
3.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
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