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
530
Exploring the Scala's Tooling Ecosystem
jedossa
0
670
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
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
640
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
データ分析を支える技術 生成AI再入門
ishikawa_satoru
0
380
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8.4k
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
63
11k
Faster Mobile Websites
deanohume
303
30k
Facilitating Awesome Meetings
lara
46
5.8k
Documentation Writing (for coders)
carmenintech
63
4.2k
Done Done
chrislema
179
15k
How STYLIGHT went responsive
nonsquared
93
5k
Automating Front-end Workflow
addyosmani
1362
200k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
Web Components: a chance to create the future
zenorocha
307
41k
Clear Off the Table
cherdarchuk
89
320k
Adopting Sorbet at Scale
ufuk
71
8.8k
Thoughts on Productivity
jonyablonski
64
4.1k
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