Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
•                •   seasar, java-ja            18                 ••           38                 •   Scala Advent       ...
DDD
 
•••
domain =
•••
•••    http://www.flickr.com/photos/yoshimov/228695466/
• UI•••       http://www.flickr.com/photos/mithril/3588952396/
UI•    •    ••   Web             Action,    Page, JSP, JS                              http://www.flickr.com/photos/ph0t0s/...
•    •    •        http://www.flickr.com/photos/jordanleepics/359596349/
•••   http://www.flickr.com/photos/lwr/2405124325/
••    http://www.flickr.com/photos/96528863@N00/3257210887/
DDD
•                    SQL         Schema Generator•    •    (                  )    •    (                      )    •   (S...
•    •   Entity, ValueObject, Service    •        •    •        •
Entity
•    ••••       (Mutable)        (Immutable)
public static void main(String[] args) {     MString firstName = new MString("Junichi");     MString lastName = new MString...
public static void main(String[] args) {    String firstName = "Junichi";    String lastName = "Kato";    String fullName =...
(E)ID (         )
• Entity• DataSource• ActionsImpl
••   (   )•
ValueObject
•    ••       VO = String, BigDecimal••       Immutable
(E)ID (          )       (VO)   (VO)        (VO)
• ValueObject• EchoActionImpl• SqlActionImpl• ActionContext
Immutable•                             •   final class                              •   Collection   Map•    final          ...
•       Entity• VO    Entity•                 Collection<VO>    VO
Service
•             Entity   VO    Service•
• DataSourceConnectServiceImpl
• Service•           Service
•   Factory, Repository, Aggregate•    •      →                →    •                Factory    •                         ...
Factory
••
• ActionsFactoryImpl• ActionFactoryImpl
••                      DI•               VO Factory          Builder       Address address = new Address.Builder(Pref.TOK...
Repository
•   Entity•   Entity         DB•
• ActionsRepositoryInProperties• DataSourceRepositoryInProperties
•            Dxo(Domain eXchange Object)••               Dxo              DSL    •   Scala DSL         (    Д )    •   Jav...
••   Java EE     /DDD•   Quickly••    baseunits
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
Upcoming SlideShare
Loading in …5
×

42

Share

Download to read offline

コードで学ぶドメイン駆動設計入門

Download to read offline

ソースはこちらを参照してください。https://github.com/tricreo/schema-generator

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

コードで学ぶドメイン駆動設計入門

  1. 1. • • seasar, java-ja 18 •• 38 • Scala Advent Calendar• Java 2010/12/31 !• S2Chronos, S2Config • @j5ik2o
  2. 2. DDD
  3. 3.  
  4. 4. •••
  5. 5. domain =
  6. 6. •••
  7. 7. ••• http://www.flickr.com/photos/yoshimov/228695466/
  8. 8. • UI••• http://www.flickr.com/photos/mithril/3588952396/
  9. 9. UI• • •• Web Action, Page, JSP, JS http://www.flickr.com/photos/ph0t0s/169353882/
  10. 10. • • • http://www.flickr.com/photos/jordanleepics/359596349/
  11. 11. ••• http://www.flickr.com/photos/lwr/2405124325/
  12. 12. •• http://www.flickr.com/photos/96528863@N00/3257210887/
  13. 13. DDD
  14. 14. • SQL Schema Generator• • ( ) • ( ) • (SQL )
  15. 15. • • Entity, ValueObject, Service • • • •
  16. 16. Entity
  17. 17. • •••• (Mutable) (Immutable)
  18. 18. public static void main(String[] args) { MString firstName = new MString("Junichi"); MString lastName = new MString("Kato"); MString fullName = getFullName(firstName, lastName); System.out.println("fullName = "+fullName); System.out.println("firstName = "+firstName);}private static MString getFullName(MString firstName, MString lastName){ MString result = firstName; result.set(firstName + lastName); // return result;}
  19. 19. public static void main(String[] args) { String firstName = "Junichi"; String lastName = "Kato"; String fullName = getFullName(firstName, lastName); System.out.println("fullName = "+fullName); System.out.println("firstName = "+firstName);}private static String getFullName(String firstName, String lastName){ String result = firstName.concat(flastName); // return result;}
  20. 20. (E)ID ( )
  21. 21. • Entity• DataSource• ActionsImpl
  22. 22. •• ( )•
  23. 23. ValueObject
  24. 24. • •• VO = String, BigDecimal•• Immutable
  25. 25. (E)ID ( ) (VO) (VO) (VO)
  26. 26. • ValueObject• EchoActionImpl• SqlActionImpl• ActionContext
  27. 27. Immutable• • final class • Collection Map• final clone• private getter
  28. 28. • Entity• VO Entity• Collection<VO> VO
  29. 29. Service
  30. 30. • Entity VO Service•
  31. 31. • DataSourceConnectServiceImpl
  32. 32. • Service• Service
  33. 33. • Factory, Repository, Aggregate• • → → • Factory • Repository • Aggregate
  34. 34. Factory
  35. 35. ••
  36. 36. • ActionsFactoryImpl• ActionFactoryImpl
  37. 37. •• DI• VO Factory Builder Address address = new Address.Builder(Pref.TOKYO).withCity(“ ”).withAddress(” 5-6-12”).withBuildingName(“ 7F”).build();• Scala class List(...) { } object List{ def apply(...){ new List(...) } } val list = List(1,2,3)
  38. 38. Repository
  39. 39. • Entity• Entity DB•
  40. 40. • ActionsRepositoryInProperties• DataSourceRepositoryInProperties
  41. 41. • Dxo(Domain eXchange Object)•• Dxo DSL • Scala DSL ( Д ) • Java Dxo • jiemamy object-manipulator
  42. 42. •• Java EE /DDD• Quickly•• baseunits
  • ssuser3535ed

    Jun. 11, 2019
  • YosukeOnuki

    Jul. 5, 2018
  • ShotaKanamoto

    Feb. 5, 2017
  • nobuakiyamaji1

    Dec. 5, 2016
  • kotaroshiga50

    Apr. 6, 2016
  • WataruNakahata

    Mar. 27, 2016
  • sakotempa

    Dec. 27, 2015
  • mimosafa

    Dec. 25, 2015
  • koguma98

    Sep. 16, 2015
  • OWASHIKazunori

    Sep. 16, 2015
  • drillbits

    Sep. 2, 2015
  • vuhung16plus

    Aug. 18, 2015
  • dev1x_org

    Jul. 26, 2015
  • hashimotoms

    Jul. 21, 2015
  • chuheiishigaki

    Jun. 24, 2015
  • CodingDead

    May. 23, 2015
  • TakeshiSakurai

    Apr. 20, 2015
  • amateras

    Feb. 25, 2015
  • yoshiyoshifujii

    Feb. 4, 2015
  • minoruoonuma

    Jan. 26, 2015

ソースはこちらを参照してください。https://github.com/tricreo/schema-generator

Views

Total views

17,641

On Slideshare

0

From embeds

0

Number of embeds

5,104

Actions

Downloads

183

Shares

0

Comments

0

Likes

42

×