Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Domain Modeling, Elevated
Search
Zach Daniel
February 09, 2024
Technology
310
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Domain Modeling, Elevated
Zach Daniel
February 09, 2024
More Decks by Zach Daniel
See All by Zach Daniel
Introduction to the Ash Framework Elixir Conf 2020
zachsdaniel1
1
890
Other Decks in Technology
See All in Technology
しろおびから始める!ログ活用の第一歩
shumei_ito
0
920
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
590
Loop Engineering, beyond prompt, context, and harness engineering
glaforge
0
100
DGX Spark でどこまでハッキングができるのか?
kash1064
0
1.1k
UniFi(ユニファイ)AIカメラの現場活用
ludicmind
1
420
Essential architectural thinking (revised edition)
ufried
0
120
SREでアラート疲れを 解決しよう!
kairim0
1
230
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1k
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
870
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
今こそ知りたいAmplifyGen2
mkdev10
2
160
パッチ更新でterraform initが落ちた日
grimoh
1
120
Featured
See All Featured
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
350
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
BBQ
matthewcrist
90
10k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
The agentic SEO stack - context over prompts
schlessera
0
970
How to make the Groovebox
asonas
2
2.5k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Transcript
Zach Daniel | May 19 2023 Domain Modeling, Elevated
Outline • What is domain modeling? • Spark • What
is a resource? • Advanced features • Extensibility • What’s new? • What’s coming up?
Domain Modeling
Domain Modeling
Domain Modeling You’re doing it, even if you don’t realize
it
• Interfaces Domain Modeling You’re doing it, even if you
don’t realize it
• Interfaces • Data Domain Modeling You’re doing it, even
if you don’t realize it
• Interfaces • Data • Side e ff ects Domain
Modeling You’re doing it, even if you don’t realize it
• Interfaces • Data • Side e ff ects •
The intersection of business and technology Domain Modeling You’re doing it, even if you don’t realize it
• Interfaces • Data • Side e ff ects •
The intersection of business and technology Domain Modeling You’re doing it, even if you don’t realize it
• Interfaces • Data • Side e ff ects •
The intersection of business and technology • There is no “one size fi ts all” Domain Modeling You’re doing it, even if you don’t realize it
• Interfaces • Data • Side e ff ects •
The intersection of business and technology • There is no “one size fi ts all” Domain Modeling You’re doing it, even if you don’t realize it
Spark DSL Builder
Spark DSL Builder • Powers all Ash DSLs
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic • Supports extensions
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic • Supports extensions • Used outside of Ash
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic • Supports extensions • Used outside of Ash
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic • Supports extensions • Used outside of Ash
Spark DSL Builder • Powers all Ash DSLs • Sets
the core design patterns • Con fi guration & Introspection • Makes DSLs less magic • Supports extensions • Used outside of Ash
What is a resource?
What is a resource?
What is a resource?
What is a resource?
What is a resource?
What is a resource?
What is a resource?
None
None
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work.
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks Ash.Resource.Change
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks Ash.Resource.Preparation
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations Ash.Resource.ManualCreate
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations Ash.Resource.ManualRelationship
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations • Calculations Elixir Calculations
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations • Calculations Expression Calculations
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations • Calculations • Aggregates Aggregating Related Data
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations • Calculations • Aggregates Lifting Related Data
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations • Calculations • Aggregates • Policies
Advanced Features The special sauce • Intelligent, integrated tools are
what make it all work. • Standardized Building Blocks • Manual Implementations • Calculations • Aggregates • Policies • Migration Generator
Extending Ash • Extensions can modify resources in arbitrary ways.
Extending Ash • Extensions can modify resources in arbitrary ways.
• Extensions often come along with con fi guration driven tools to leverage them
Extending Ash • Extensions can modify resources in arbitrary ways.
• Extensions often come along with con fi guration driven tools to leverage them • Extensions can fundamentally change the way you use the framework
Extending Ash • Extensions can modify resources in arbitrary ways.
• Extensions often come along with con fi guration driven tools to leverage them • Extensions can fundamentally change the way you use the framework
Extending Ash • Extensions can modify resources in arbitrary ways.
• Extensions often come along with con fi guration driven tools to leverage them • Extensions can fundamentally change the way you use the framework • The builtin extensions are just the beginning. They are all built with tools you can use too.
What’s new? • AshAuthentication
What’s new? • AshAuthentication • OpenAPI/Swagger Support
What’s new? • AshAuthentication • OpenAPI/Swagger Support
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType • Spark.Dsl.Fragment
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType • Spark.Dsl.Fragment • Streaming Read Actions
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType • Spark.Dsl.Fragment • Streaming Read Actions • Locking
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType • Spark.Dsl.Fragment • Streaming Read Actions • Locking • AshStateMachine & AshOban
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType • Spark.Dsl.Fragment • Streaming Read Actions • Locking • AshStateMachine & AshOban • Generic Actions
What’s new? • AshAuthentication • OpenAPI/Swagger Support • Ash.Type.Union &
Ash.Type.NewType • Spark.Dsl.Fragment • Streaming Read Actions • Locking • AshStateMachine & AshOban • Generic Actions • Bulk Creates
What’s coming up? This is just the beginning!
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions!
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions! SQLite
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions! MySQL SQLite
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions! MySQL SQLite SQL Server
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions! MySQL SQLite SQL Server CQRS
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions! MySQL SQLite SQL Server CQRS GRPC
What’s coming up? This is just the beginning! • Constant
QoL and ergonomics improvements • Bulk Actions • Atomics • Generators • More extensions! MySQL SQLite SQL Server CQRS GRPC Multi Data Layer