Presentation is loading. Please wait.

Presentation is loading. Please wait.

Domain driven design and jpa

Similar presentations


Presentation on theme: "Domain driven design and jpa"— Presentation transcript:

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:


Download ppt "Domain driven design and jpa"

Similar presentations


Ads by Google