Download presentation
Presentation is loading. Please wait.
1
Domain driven design and jpa
Cecilio Álvarez Caules Java Master Oracle Certified Enterprise Architect web:
2
Domain Driven design (agenda)
Problems Create Model Use JPA
3
Domain model problems
4
main Problems Expert Problem Communication Problem Complexibility
5
Experts People General Knowledge You dont know anything All
people looks experts
6
communication problem
7
is a great football team
example Barça is a great football team Pau Gasol not a football team Barça club Football team club with a great team
8
Complexibility problem
9
It’s not so easy! Barça club Football team club and great team Barça
senior F 18 club and teams Barça club F senior A F senior B F 18 club and teams Barça club Football senior A men Football senior A women
10
summarizing Problems There is no easy access to experts
Communication can be tricky Models are more complex than you think It is your responsibility to create a good model Knowing your customer proves to be essential
11
Agenda Create Model Problems Use JPA
12
How to build solid models?
13
modeling my TALK How does Barcelona Java conferences works?
An expert gives a talk about a technical subject for Java Developers.
14
first model Expert name Talk title duration 1 n Developer name n n
15
analisys Your model is wrong Is my model correct?
Case1 :Your model is bad ,You need to improve your model , you need more concepts. Case 2: Your model is fine but small, you can go to next meeting Your model is wrong
16
Analisys patterns Places Things Roles Events Description
17
very OLD books Analisys patterns (Martin Fowler)
Java UML in Colour (Peter Coad) Data Model Patterns (David Hay)
18
<Role> Expert 1 <Event> Talk n <Role> Developer n
name n 1 <Event> Talk title duration <Role> Developer name n
19
what an event is? Point TimeLine Heart of Model Talk??? whats happens?
20
working with talk Talk Talk Talk Presentation thing event repeat
duration title Talk duration title date Talk duration title Presentation date thing event repeat
21
<Thing> <Role> Talk Expert <Place> Room
name <Thing> Talk title duration <Place> Room number <Event> Presentation date <Role> Developer name
22
thinking about You have a problem with your customer
Maybe its not the correct person to talk How we can solve/reduce this problem?
23
Models and Time time line
24
models and events before after T T T Enrollment Presentation Survey
25
before events Enrollment Presentation Conference <Thing> Talk
date Presentation Conference <Thing> Talk <Place> University Ticket WebSite <Role> Developer JUG <Description> Category
26
Deep view Booking date Enrollment date Payment date Invoice date
27
<Place> website <Role> Developer <Thing> Talk
<Description> Category <Thing> Talk <Place> Room <Thing> Ticket <Event> Enrollment <Event> Conference <Event> Presentation <Event> Survey <Event> Invoice <Role> JUG <Role> Expert <Event> Payment
28
view and models more than you need unflexible flexible
29
Summarizing models It´s your model , not the customer´s
Use,don’t show at first place Time have no limits , be careful Understand better your customer Where does knowledge lie in the company ?
30
Agenda Use JPA Problems Create Model
31
JPA and Domains n+1 Queries Lazy/ Eager JoinFetch Graphs
32
time to code
33
conclusions Use Analysis patterns in your models
Create a good model is hard Is your responsibility Know your framework
34
Thanks Cecilio Álvarez Caules contacto@arquitecturajava.com
blog:
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.