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
470
Exploring the Scala's Tooling Ecosystem
jedossa
0
620
Consistency without Clocks: The FaunaDB Distributed Transaction Protocol
jedossa
0
120
akka-cluster-k8s
jedossa
0
450
Other Decks in Technology
See All in Technology
開発パフォーマンスを最大化するための開発体制
ham0215
2
400
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
14k
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
900
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
300
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
210
web-application-security
matsuihidetoshi
0
170
VS CodeでAWSを操作しよう
smt7174
8
1.6k
Cracking the KubeCon CfP
inductor
2
250
反実仮想機械学習とは何か
usaito
PRO
11
4.6k
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
1
270
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
570
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Embracing the Ebb and Flow
colly
80
4.1k
For a Future-Friendly Web
brad_frost
172
9k
RailsConf 2023
tenderlove
4
540
Building Flexible Design Systems
yeseniaperezcruz
319
37k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Rails Girls Zürich Keynote
gr2m
91
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Testing 201, or: Great Expectations
jmmastey
28
6.4k
Adopting Sorbet at Scale
ufuk
68
8.6k
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