SlideShare a Scribd company logo
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
•                •   seasar, java-ja
            18
                 •

•           38
                 •   Scala Advent
                     Calendar
•   Java             2010/12/31
                             !
•   S2Chronos,
    S2Config
                 •   @j5ik2o
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/169353882/
•

    •

    •
        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


•
    •    (                  )


    •    (                      )


    •   (SQL                    )
コードで学ぶドメイン駆動設計入門
コードで学ぶドメイン駆動設計入門
•
    •   Entity, ValueObject, Service

    •
        •
    •
        •
Entity
•
    •
•
•

•       (Mutable)
        (Immutable)
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;

}
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;

}
(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                                        clone



•                   private
           getter
•
       Entity


• VO    Entity



•
                 Collection<VO>
    VO
Service
•             Entity   VO




    Service


•
• DataSourceConnectServiceImpl
• Service


•           Service
コードで学ぶドメイン駆動設計入門
•   Factory, Repository, Aggregate

•
    •      →                →


    •
                Factory


    •
                                       Repository


    •                                Aggregate
Factory
•

•
• ActionsFactoryImpl
• ActionFactoryImpl
•
•                      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)
Repository
•   Entity



•   Entity
         DB



•
• ActionsRepositoryInProperties
• DataSourceRepositoryInProperties
•
            Dxo(Domain eXchange Object)


•

•               Dxo              DSL


    •   Scala DSL         (    Д )


    •   Java                              Dxo


        •   jiemamy object-manipulator
•
•   Java EE      /DDD


•   Quickly


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

More Related Content

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

  • 3. • seasar, java-ja 18 • • 38 • Scala Advent Calendar • Java 2010/12/31 ! • S2Chronos, S2Config • @j5ik2o
  • 4. DDD
  • 5.  
  • 12. • • • http://www.flickr.com/photos/yoshimov/228695466/
  • 14. • UI • • • http://www.flickr.com/photos/mithril/3588952396/
  • 15. UI • • • • Web Action, Page, JSP, JS http://www.flickr.com/photos/ph0t0s/169353882/
  • 16. • • http://www.flickr.com/photos/jordanleepics/359596349/
  • 17. • • • http://www.flickr.com/photos/lwr/2405124325/
  • 18. • • http://www.flickr.com/photos/96528863@N00/3257210887/
  • 19. DDD
  • 20. SQL Schema Generator • • ( ) • ( ) • (SQL )
  • 23. • Entity, ValueObject, Service • • • •
  • 25. • • • • (Mutable) (Immutable)
  • 26. 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; }
  • 27. 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; }
  • 28. (E) ID ( )
  • 30. • • ( ) •
  • 32. • • VO = String, BigDecimal • • Immutable
  • 33. (E) ID ( ) (VO) (VO) (VO)
  • 34. • ValueObject • EchoActionImpl • SqlActionImpl • ActionContext
  • 35. Immutable • • final class • Collection Map • final clone • private getter
  • 36. Entity • VO Entity • Collection<VO> VO
  • 38. Entity VO Service •
  • 40. • Service • Service
  • 42. Factory, Repository, Aggregate • • → → • Factory • Repository • Aggregate
  • 46. • • 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)
  • 48. Entity • Entity DB •
  • 50. Dxo(Domain eXchange Object) • • Dxo DSL • Scala DSL ( Д ) • Java Dxo • jiemamy object-manipulator
  • 51. • • Java EE /DDD • Quickly • • basicunits

Editor's Notes

  1. &amp;#x306F;&amp;#x3058;&amp;#x3081;&amp;#x307E;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x304B;&amp;#x3068;&amp;#x3046;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x672C;&amp;#x65E5;&amp;#x306F;&amp;#x4F11;&amp;#x65E5;&amp;#x306E;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x8DB3;&amp;#x3092;&amp;#x904B;&amp;#x3093;&amp;#x3067;&amp;#x3044;&amp;#x305F;&amp;#x3060;&amp;#x304D;&amp;#x3042;&amp;#x308A;&amp;#x304C;&amp;#x3068;&amp;#x3046;&amp;#x3054;&amp;#x3056;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x5B66;&amp;#x3076;DDD&amp;#x5165;&amp;#x9580;&amp;#x3067;&amp;#x8A71;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;DDD&amp;#x306E;&amp;#x8A2D;&amp;#x8A08;&amp;#x601D;&amp;#x60F3;&amp;#x3067;&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x3092;&amp;#x4F5C;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x65B9;&amp;#x3063;&amp;#x3066;&amp;#x3069;&amp;#x308C;&amp;#x3050;&amp;#x3089;&amp;#x3044;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x304B;&amp;#xFF1F;\n&amp;#x306A;&amp;#x304B;&amp;#x306A;&amp;#x304B;&amp;#x3001;&amp;#x8A2D;&amp;#x8A08;&amp;#x601D;&amp;#x60F3;&amp;#x306E;&amp;#x7406;&amp;#x89E3;&amp;#x304C;&amp;#x5927;&amp;#x5909;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x306E;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x3092;&amp;#x79C1;&amp;#x306E;&amp;#x5C11;&amp;#x306A;&amp;#x3044;&amp;#x7D4C;&amp;#x9A13;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x308F;&amp;#x304B;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3088;&amp;#x308D;&amp;#x3057;&amp;#x304F;&amp;#x304A;&amp;#x9858;&amp;#x3044;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  2. &amp;#x307E;&amp;#x305A;&amp;#x3001;&amp;#x81EA;&amp;#x5DF1;&amp;#x7D39;&amp;#x4ECB;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  3. Java&amp;#x3067;&amp;#x3001;Seasar&amp;#x3067;&amp;#x3001;DDD&amp;#x3067;&amp;#x3001;Scala&amp;#x3067;&amp;#x3063;&amp;#x3066;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  4. \n
  5. 2004&amp;#x5E74;&amp;#x767A;&amp;#x520A;&amp;#x3067;&amp;#x3001;&amp;#x6D77;&amp;#x5916;&amp;#x3067;&amp;#x306F;&amp;#x975E;&amp;#x5E38;&amp;#x306B;&amp;#x8A55;&amp;#x5224;&amp;#x306E;&amp;#x9AD8;&amp;#x3044;&amp;#x66F8;&amp;#x7C4D;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x51FA;&amp;#x7248;&amp;#x524D;&amp;#x304B;&amp;#x3089;&amp;#x30A2;&amp;#x30CA;&amp;#x30EA;&amp;#x30B7;&amp;#x30B9;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x3067;&amp;#x6709;&amp;#x540D;&amp;#x306A;Martin Fowler&amp;#x306B;&amp;#x3088;&amp;#x308A;&amp;#x300C;&amp;#x671F;&amp;#x5F85;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x5185;&amp;#x5BB9;&amp;#x3060;&amp;#x300D;&amp;#x3068;&amp;#x304B;&amp;#x3002;&amp;#x30C7;&amp;#x30B6;&amp;#x30A4;&amp;#x30F3;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x306E;GoF&amp;#x306E;&amp;#x30E1;&amp;#x30F3;&amp;#x30D0;&amp;#x30FC;&amp;#x306E;&amp;#x4EBA;&amp;#x3082;&amp;#x300C;4&amp;#x3001;5&amp;#x56DE;&amp;#x306F;&amp;#x8AAD;&amp;#x307F;&amp;#x76F4;&amp;#x3057;&amp;#x305F;&amp;#x300D;&amp;#x3002;Spring Framework&amp;#x306E;Rod Johnson&amp;#x300C;&amp;#x3053;&amp;#x308C;&amp;#x304B;&amp;#x3089;&amp;#x306F;&amp;#x3001;&amp;#x30EA;&amp;#x30C3;&amp;#x30C1;&amp;#x306A;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3060;&amp;#x300D;&amp;#x3068;&amp;#x304B;&amp;#x3002;\n&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x4E2D;&amp;#x8EAB;&amp;#x306F;&amp;#x3001;4&amp;#x90E8;17&amp;#x7AE0;&amp;#x3001;&amp;#x7D04;515&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3050;&amp;#x3089;&amp;#x3044;&amp;#x3002; &amp;#x8A2D;&amp;#x8A08;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x306F;41&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D2;&amp;#x30FC;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3044;&amp;#x304D;&amp;#x306A;&amp;#x308A;&amp;#x5168;&amp;#x90E8;&amp;#x7121;&amp;#x7406;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x57FA;&amp;#x672C;&amp;#x304B;&amp;#x3089;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;&amp;#x82F1;&amp;#x6587;&amp;#x3082;&amp;#x8AAD;&amp;#x307F;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3068;&amp;#x306F;&amp;#x3044;&amp;#x3048;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x79C1;&amp;#x306F;&amp;#x82F1;&amp;#x8A9E;&amp;#x82E6;&amp;#x624B;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x304D;&amp;#x3064;&amp;#x3044;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002; &amp;#x8AAD;&amp;#x3081;&amp;#x305F;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x8A2D;&amp;#x8A08;&amp;#x601D;&amp;#x60F3;&amp;#x304C;&amp;#x30C6;&amp;#x30FC;&amp;#x30DE;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x3001;&amp;#x7406;&amp;#x89E3;&amp;#x3059;&amp;#x308B;&amp;#x3082;&amp;#x306E;&amp;#x307E;&amp;#x305F;&amp;#x96E3;&amp;#x3057;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30CF;&amp;#x30FC;&amp;#x30C9;&amp;#x30EB;&amp;#x304C;&amp;#x7D50;&amp;#x69CB;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002; &amp;#x5B8C;&amp;#x5168;&amp;#x306B;&amp;#x7406;&amp;#x89E3;&amp;#x3059;&amp;#x308B;&amp;#x306B;&amp;#x306F;&amp;#x7D50;&amp;#x69CB;&amp;#x96E3;&amp;#x3057;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x79C1;&amp;#x3082;&amp;#x96E3;&amp;#x3057;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x65E5;&amp;#x3005;&amp;#x306A;&amp;#x3093;&amp;#x3068;&amp;#x304B;&amp;#x3057;&amp;#x306A;&amp;#x304C;&amp;#x3089;&amp;#x3001;50&amp;#x4EBA;&amp;#x898F;&amp;#x6A21;&amp;#x3050;&amp;#x3089;&amp;#x3044;&amp;#x306E;&amp;#x73FE;&amp;#x5834;&amp;#x3067;DDD&amp;#x3092;&amp;#x53D6;&amp;#x308A;&amp;#x5165;&amp;#x308C;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x8A2D;&amp;#x8A08;&amp;#x3068;&amp;#x5B9F;&amp;#x88C5;&amp;#x306E;&amp;#x4E21;&amp;#x9762;&amp;#x3067;&amp;#x30B3;&amp;#x30F3;&amp;#x30B5;&amp;#x30EB;&amp;#x30C6;&amp;#x30A3;&amp;#x30F3;&amp;#x30B0;&amp;#x3068;&amp;#x304B;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\nQuickly&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x65E5;&amp;#x672C;&amp;#x8A9E;&amp;#x3067;&amp;#x8AAD;&amp;#x3081;&amp;#x308B;&amp;#x8CC7;&amp;#x6599;&amp;#x306A;&amp;#x3069;&amp;#x306F;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30B5;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x304B;&amp;#x3089;&amp;#x305B;&amp;#x3081;&amp;#x3066;&amp;#x3044;&amp;#x304F;&amp;#x3068;&amp;#x3088;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  6. &amp;#x3055;&amp;#x3066;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306F;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304B;&amp;#x3089;&amp;#x5B66;&amp;#x3076;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x524D;&amp;#x306B;&amp;#x5C0E;&amp;#x5165;&amp;#x7DE8;&amp;#x306B;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  7. DDD&amp;#x672C;&amp;#x306E;Part2&amp;#x306E;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x99C6;&amp;#x52D5;&amp;#x8A2D;&amp;#x8A08;&amp;#x306E;&amp;#x57FA;&amp;#x790E;&amp;#x306B;&amp;#x76F8;&amp;#x5F53;&amp;#x3059;&amp;#x308B;&amp;#x90E8;&amp;#x5206;&amp;#x304B;&amp;#x3089;&amp;#x3044;&amp;#x304D;&amp;#x306A;&amp;#x308A;&amp;#x89E3;&amp;#x8AAC;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Part1&amp;#x306B;&amp;#x306F;&amp;#x975E;&amp;#x5E38;&amp;#x306B;&amp;#x91CD;&amp;#x8981;&amp;#x306A;&amp;#x30E6;&amp;#x30D3;&amp;#x30AD;&amp;#x30BF;&amp;#x30B9;&amp;#x8A00;&amp;#x8A9E;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x306E;&amp;#x5229;&amp;#x5BB3;&amp;#x95A2;&amp;#x4FC2;&amp;#x8005;&amp;#x3067;&amp;#x5171;&amp;#x901A;&amp;#x306E;&amp;#x8A00;&amp;#x8A9E;&amp;#x3092;&amp;#x53D6;&amp;#x308A;&amp;#x4E0A;&amp;#x3052;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306F;&amp;#x3044;&amp;#x304D;&amp;#x306A;&amp;#x308A;&amp;#x3053;&amp;#x3053;&amp;#x304B;&amp;#x3089;&amp;#x59CB;&amp;#x3081;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x99C6;&amp;#x52D5;&amp;#x8A2D;&amp;#x8A08;&amp;#x306E;&amp;#x8003;&amp;#x3048;&amp;#x65B9;&amp;#x304C;&amp;#x5206;&amp;#x304B;&amp;#x308C;&amp;#x3070;&amp;#x3001;Part1&amp;#x3082;&amp;#x8AAD;&amp;#x307F;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3057;&amp;#x3001;Part3&amp;#x4EE5;&amp;#x964D;&amp;#x3082;&amp;#x8AAD;&amp;#x307F;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  8. &amp;#x307E;&amp;#x305A;&amp;#x3001;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x3068;&amp;#x306F;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  9. &amp;#x8F9E;&amp;#x66F8;&amp;#x3067;&amp;#x5F15;&amp;#x304F;&amp;#x3068;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x9818;&amp;#x571F;&amp;#x554F;&amp;#x984C;&amp;#x306F;&amp;#x6700;&amp;#x8FD1;&amp;#x306E;&amp;#x71B1;&amp;#x3044;&amp;#x8A71;&amp;#x984C;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3068;&amp;#x3001;&amp;#x9818;&amp;#x57DF;&amp;#x3068;&amp;#x3044;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x3001;&amp;#x3001;\n
  10. DDD&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x3068;&amp;#x306F;&amp;#x3001;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x3044;&amp;#x3046;&amp;#x3068;&amp;#x554F;&amp;#x984C;&amp;#x89E3;&amp;#x6C7A;&amp;#x306E;&amp;#x9818;&amp;#x57DF;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x696D;&amp;#x52D9;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;&amp;#x696D;&amp;#x52D9;&amp;#x305D;&amp;#x306E;&amp;#x3082;&amp;#x306E;&amp;#x304C;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x3002;Quickly&amp;#x3067;&amp;#x306F;&amp;#x7A7A;&amp;#x6E2F;&amp;#x306E;&amp;#x7BA1;&amp;#x5236;&amp;#x5854;&amp;#x306E;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&amp;#x4E8B;&amp;#x4F8B;&amp;#x304C;&amp;#x7D39;&amp;#x4ECB;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x304C;&amp;#x3001;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306B;&amp;#x306F;&amp;#x98DB;&amp;#x884C;&amp;#x6A5F;&amp;#x3084;&amp;#x822A;&amp;#x8DEF;&amp;#x306A;&amp;#x3069;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  11. &amp;#x307E;&amp;#x305A;&amp;#x3001;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&amp;#x8A71;&amp;#x306B;&amp;#x5165;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x304F;&amp;#x524D;&amp;#x306B;&amp;#x3001;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x30C9;&amp;#x30A2;&amp;#x30FC;&amp;#x30AD;&amp;#x30C6;&amp;#x30AF;&amp;#x30C1;&amp;#x30E3;&amp;#x3092;&amp;#x628A;&amp;#x63E1;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x7D50;&amp;#x69CB;&amp;#x5927;&amp;#x4E8B;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  12. DDD&amp;#x306B;&amp;#x306F;&amp;#x307E;&amp;#x305A;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x30C9;&amp;#x30A2;&amp;#x30FC;&amp;#x30AD;&amp;#x30C6;&amp;#x30AF;&amp;#x30C1;&amp;#x30E3;&amp;#x306E;&amp;#x8A71;&amp;#x304C;&amp;#x3067;&amp;#x3066;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x5927;&amp;#x90E8;&amp;#x5206;&amp;#x306F;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x3068;&amp;#x306F;&amp;#x76F4;&amp;#x63A5;&amp;#x95A2;&amp;#x4FC2;&amp;#x3057;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x3001;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x3068;&amp;#x95A2;&amp;#x4FC2;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x4ED6;&amp;#x306E;&amp;#x5C64;&amp;#x3068;&amp;#x307E;&amp;#x3056;&amp;#x308B;&amp;#x3068;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x8AAD;&amp;#x3093;&amp;#x3067;&amp;#x691C;&amp;#x8A0E;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x96E3;&amp;#x3057;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&amp;#x3053;&amp;#x3068;&amp;#x3060;&amp;#x3051;&amp;#x306B;&amp;#x96C6;&amp;#x4E2D;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x308B;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  13. &amp;#x305F;&amp;#x3068;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x3053;&amp;#x306E;&amp;#xFF13;&amp;#x3064;&amp;#x306E;&amp;#x5C64;&amp;#x3092;&amp;#x6DF7;&amp;#x540C;&amp;#x3057;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x3068;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5B9F;&amp;#x969B;&amp;#x306E;&amp;#x73FE;&amp;#x5834;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x7D50;&amp;#x69CB;&amp;#x3042;&amp;#x308B;&amp;#x3093;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;&amp;#xFF1F;\n&amp;#x5DE6;&amp;#x5074;&amp;#x3060;&amp;#x3068;&amp;#x3001;&amp;#x30D3;&amp;#x30B8;&amp;#x30CD;&amp;#x30B9;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x2192;UI&amp;#x3084;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x306B;&amp;#x5909;&amp;#x66F4;&amp;#x306E;&amp;#x5F71;&amp;#x97FF;&amp;#x304C;&amp;#x51FA;&amp;#x308B;&amp;#x53EF;&amp;#x80FD;&amp;#x6027;&amp;#x304C;&amp;#x9AD8;&amp;#x304F;\n&amp;#x53F3;&amp;#x5074;&amp;#x3060;&amp;#x3068;&amp;#x3001;UI&amp;#x3084;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x2192;&amp;#x30D3;&amp;#x30B8;&amp;#x30CD;&amp;#x30B9;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x306B;&amp;#x5909;&amp;#x66F4;&amp;#x306E;&amp;#x5F71;&amp;#x97FF;&amp;#x304C;&amp;#x51FA;&amp;#x308B;&amp;#x53EF;&amp;#x80FD;&amp;#x6027;&amp;#x304C;&amp;#x9AD8;&amp;#x3044;&amp;#x3002;\n&amp;#x3064;&amp;#x307E;&amp;#x308A;&amp;#x3001;&amp;#x5909;&amp;#x66F4;&amp;#x306E;&amp;#x5F71;&amp;#x97FF;&amp;#x304C;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x3092;&amp;#x8D85;&amp;#x3048;&amp;#x3066;&amp;#x6CE2;&amp;#x53CA;&amp;#x3057;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x6BD4;&amp;#x8F03;&amp;#x7684;&amp;#x5909;&amp;#x66F4;&amp;#x30B3;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x5927;&amp;#x304D;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n&amp;#x3053;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x3092;&amp;#x6DF7;&amp;#x540C;&amp;#x3057;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x3068;&amp;#x3001;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x9593;&amp;#x306E;&amp;#x7D50;&amp;#x5408;&amp;#x5EA6;&amp;#x3082;&amp;#x3042;&amp;#x304C;&amp;#x3063;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x5909;&amp;#x66F4;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x306F;&amp;#x304F;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3082;&amp;#x3057;&amp;#x306B;&amp;#x304F;&amp;#x304F;&amp;#x306A;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x30AB;&amp;#x30AA;&amp;#x30B9;&amp;#x3068;&amp;#x3044;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;\n
  14. &amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x5C64;&amp;#x3068;&amp;#x306F;&amp;#x3001;DDD&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#xFF14;&amp;#x3064;&amp;#x306B;&amp;#x5206;&amp;#x985E;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x3092;&amp;#x6DF7;&amp;#x540C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305B;&amp;#x3063;&amp;#x304B;&amp;#x304F;&amp;#x4F5C;&amp;#x3063;&amp;#x305F;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3092;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3057;&amp;#x3063;&amp;#x304B;&amp;#x308A;&amp;#x5B88;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n
  15. &amp;#x4E00;&amp;#x3064;&amp;#x76EE;&amp;#x306F;UI&amp;#x5C64;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x4E00;&amp;#x822C;&amp;#x7684;&amp;#x306A;&amp;#x696D;&amp;#x52D9;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3067;&amp;#x306F;&amp;#x4E3B;&amp;#x773C;&amp;#x306B;&amp;#x7F6E;&amp;#x304B;&amp;#x308C;&amp;#x308B;&amp;#x90E8;&amp;#x5206;&amp;#x3067;&amp;#x3059;&amp;#x3002;UI&amp;#x306F;&amp;#x78BA;&amp;#x304B;&amp;#x306B;&amp;#x91CD;&amp;#x8981;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3082;&amp;#x3063;&amp;#x3068;&amp;#x91CD;&amp;#x8981;&amp;#x306A;&amp;#x306E;&amp;#x304C;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x3067;&amp;#x3042;&amp;#x308A;&amp;#x3001;UI&amp;#x306E;&amp;#x90FD;&amp;#x5408;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x304C;&amp;#x6B6A;&amp;#x3093;&amp;#x3060;&amp;#x8A2D;&amp;#x8A08;&amp;#x306B;&amp;#x306A;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x306A;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x306A;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x5177;&amp;#x4F53;&amp;#x4F8B;&amp;#x3092;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x306E;&amp;#x69CB;&amp;#x9020;&amp;#x304C;UI&amp;#x306B;&amp;#x5F15;&amp;#x304D;&amp;#x3065;&amp;#x3089;&amp;#x308C;&amp;#x305F;&amp;#x8A2D;&amp;#x8A08;&amp;#x304C;Smart UI&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x8CE2;&amp;#x3044;UI&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x540D;&amp;#x306E;&amp;#x30A2;&amp;#x30F3;&amp;#x30C1;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  16. &amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x5C64;&amp;#x306E;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A8;&amp;#x30A2;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x304D;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&amp;#x5B9F;&amp;#x73FE;&amp;#x3059;&amp;#x308B;&amp;#x5C64;&amp;#x3002;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306B;&amp;#x6B86;&amp;#x3069;&amp;#x59D4;&amp;#x8B72;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x3050;&amp;#x3089;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  17. &amp;#x305F;&amp;#x3068;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x9280;&amp;#x884C;&amp;#x306E;&amp;#x53E3;&amp;#x5EA7;&amp;#x7BA1;&amp;#x7406;&amp;#x30B7;&amp;#x30B9;&amp;#x30C6;&amp;#x30E0;&amp;#x3067;&amp;#x3042;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x9867;&amp;#x5BA2;&amp;#x3084;&amp;#x9280;&amp;#x884C;&amp;#x53E3;&amp;#x5EA7;&amp;#x306A;&amp;#x3069;&amp;#x304C;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x5C64;&amp;#x306B;&amp;#x4F4D;&amp;#x7F6E;&amp;#x3059;&amp;#x308B;&amp;#x6982;&amp;#x5FF5;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30EB;&amp;#x30FC;&amp;#x30EB;&amp;#x3084;&amp;#x72B6;&amp;#x614B;&amp;#x306F;&amp;#x30EF;&amp;#x30FC;&amp;#x30AF;&amp;#x30D5;&amp;#x30ED;&amp;#x30FC;&amp;#x306A;&amp;#x3069;&amp;#x304C;&amp;#x8A72;&amp;#x5F53;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4E00;&amp;#x756A;&amp;#x809D;&amp;#x5FC3;&amp;#x306A;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  18. OR Mapper&amp;#x306A;&amp;#x3069;&amp;#x306E;Dao&amp;#x3084;&amp;#x30A8;&amp;#x30F3;&amp;#x30C6;&amp;#x30A3;&amp;#x30C6;&amp;#x30A3;(&amp;#x5F8C;&amp;#x3067;&amp;#x8AAC;&amp;#x660E;&amp;#x3059;&amp;#x308B;&amp;#x30A8;&amp;#x30F3;&amp;#x30C6;&amp;#x30A3;&amp;#x30C6;&amp;#x30A3;&amp;#x3068;&amp;#x306F;&amp;#x610F;&amp;#x5473;&amp;#x304C;&amp;#x9055;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x8981;&amp;#x6CE8;&amp;#x610F;&amp;#x3067;&amp;#x3059;)&amp;#x3084;&amp;#x3001;Java API&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x3084;&amp;#x3059;&amp;#x304F;&amp;#x30E9;&amp;#x30C3;&amp;#x30D7;&amp;#x3057;&amp;#x305F;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x30E6;&amp;#x30FC;&amp;#x30C6;&amp;#x30A3;&amp;#x30EA;&amp;#x30C6;&amp;#x30A3;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306A;&amp;#x3069;&amp;#x3082;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30E9;&amp;#x5C64;&amp;#x306B;&amp;#x8A72;&amp;#x5F53;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  19. &amp;#x8A2D;&amp;#x8A08;&amp;#x601D;&amp;#x60F3;&amp;#x306F;&amp;#x3069;&amp;#x3046;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x62BD;&amp;#x8C61;&amp;#x5EA6;&amp;#x304C;&amp;#x9AD8;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5B9F;&amp;#x969B;&amp;#x306E;&amp;#x5177;&amp;#x4F53;&amp;#x7684;&amp;#x306A;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3060;&amp;#x3068;&amp;#x3069;&amp;#x3046;&amp;#x306A;&amp;#x308B;&amp;#x306E;&amp;#xFF1F;&amp;#x3063;&amp;#x3066;&amp;#x8A71;&amp;#x304C;&amp;#x77E5;&amp;#x308A;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3042;&amp;#x304F;&amp;#x307E;&amp;#x3067;&amp;#x4E00;&amp;#x4F8B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x4ECA;&amp;#x56DE;&amp;#x30B5;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x3092;&amp;#x3064;&amp;#x304F;&amp;#x3063;&amp;#x3066;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;\n
  20. &amp;#x4ECA;&amp;#x56DE;&amp;#x8AAC;&amp;#x660E;&amp;#x3059;&amp;#x308B;&amp;#x4E8B;&amp;#x4F8B;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x8A00;&amp;#x3048;&amp;#x3070;DB&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;SQL&amp;#x3092;&amp;#x767A;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x30B9;&amp;#x30AD;&amp;#x30FC;&amp;#x30DE;&amp;#x3092;&amp;#x4F5C;&amp;#x308B;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x9867;&amp;#x5BA2;&amp;#x7BA1;&amp;#x7406;&amp;#x696D;&amp;#x52D9;&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x5B9F;&amp;#x969B;&amp;#x306E;&amp;#x696D;&amp;#x52D9;&amp;#x3092;&amp;#x5BFE;&amp;#x8C61;&amp;#x3057;&amp;#x305F;&amp;#x30B5;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x3060;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x3088;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3061;&amp;#x3087;&amp;#x3063;&amp;#x3068;&amp;#x3067;&amp;#x304B;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x3059;&amp;#x304E;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;DB&amp;#x3092;&amp;#x30B9;&amp;#x30FC;&amp;#x30AD;&amp;#x30DE;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x696D;&amp;#x52D9;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x8003;&amp;#x3048;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x3042;&amp;#x307E;&amp;#x308A;&amp;#x826F;&amp;#x3044;&amp;#x4F8B;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3082;&amp;#x3057;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x5168;&amp;#x4F53;&amp;#x7684;&amp;#x306A;&amp;#x6982;&amp;#x5FF5;&amp;#x3092;&amp;#x6291;&amp;#x3048;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3060;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3088;&amp;#x3044;&amp;#x304B;&amp;#x306A;&amp;#x3068;&amp;#x601D;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x4ED5;&amp;#x69D8;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x306F;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30BD;&amp;#x30FC;&amp;#x30EB;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3067;&amp;#x3001;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x30B9;&amp;#x30AD;&amp;#x30FC;&amp;#x30DE;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x306F;&amp;#x30D7;&amp;#x30ED;&amp;#x30D1;&amp;#x30C6;&amp;#x30A3;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x66F8;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x4E0A;&amp;#x306B;&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#xFF13;&amp;#x3064;&amp;#x6982;&amp;#x5FF5;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5B9F;&amp;#x969B;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  21. &amp;#x305D;&amp;#x308C;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x672C;&amp;#x984C;&amp;#x306E;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x5C64;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  22. \n
  23. &amp;#x696D;&amp;#x52D9;&amp;#x3092;&amp;#x8868;&amp;#x3059;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3068;&amp;#x3044;&amp;#x3048;&amp;#x3070;&amp;#x3001;MVC&amp;#x306E;M&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x696D;&amp;#x52D9;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6271;&amp;#x3046;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;Entity&amp;#x3068;ValueObject,Service&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x5358;&amp;#x306A;&amp;#x308B;JavaBeans&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x306E;&amp;#x5165;&amp;#x308C;&amp;#x3082;&amp;#x306E;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x3061;&amp;#x3083;&amp;#x3093;&amp;#x3068;&amp;#x3057;&amp;#x305F;&amp;#x696D;&amp;#x52D9;&amp;#x3092;&amp;#x62C5;&amp;#x3046;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306F;&amp;#x3001;&amp;#x30E6;&amp;#x30D3;&amp;#x30AD;&amp;#x30BF;&amp;#x30B9;&amp;#x8A00;&amp;#x8A9E;(&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x306E;&amp;#x5229;&amp;#x5BB3;&amp;#x95A2;&amp;#x4FC2;&amp;#x8005;&amp;#x3067;&amp;#x5171;&amp;#x901A;&amp;#x306A;&amp;#x8A00;&amp;#x8A9E;)&amp;#x3068;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3065;&amp;#x304F;&amp;#x3082;&amp;#x306E;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305F;&amp;#x3068;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x53E3;&amp;#x5EA7;&amp;#x7BA1;&amp;#x7406;&amp;#x306A;&amp;#x3089;&amp;#x3001;&amp;#x9867;&amp;#x5BA2;&amp;#x3001;&amp;#x53E3;&amp;#x5EA7;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  24. Entity&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  25. Entity&amp;#x306F;&amp;#x3001;&amp;#x898B;&amp;#x5206;&amp;#x3051;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x76EE;&amp;#x7684;&amp;#x306E;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3067;&amp;#x3059;&amp;#x3002;ORM&amp;#x306E;Entity&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x6982;&amp;#x5FF5;&amp;#x306F;&amp;#x4E00;&amp;#x65E6;&amp;#x5FD8;&amp;#x308C;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&amp;#x4E16;&amp;#x754C;&amp;#x306E;Entity&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3064;&amp;#x307E;&amp;#x308A;&amp;#x3001;&amp;#x898B;&amp;#x5206;&amp;#x3051;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x6982;&amp;#x5FF5;&amp;#x3092;Entity&amp;#x306B;&amp;#x30DE;&amp;#x30C3;&amp;#x30D4;&amp;#x30F3;&amp;#x30B0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305F;&amp;#x3068;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x9867;&amp;#x5BA2;&amp;#x3068;&amp;#x304B;&amp;#x3001;&amp;#x53E3;&amp;#x5EA7;&amp;#x3068;&amp;#x304B;&amp;#x3002;&amp;#x898B;&amp;#x5206;&amp;#x3051;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x8B58;&amp;#x5225;&amp;#x3068;&amp;#x3044;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x898B;&amp;#x5206;&amp;#x3051;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x9867;&amp;#x5BA2;&amp;#x3067;&amp;#x3082;&amp;#x540C;&amp;#x59D3;&amp;#x540C;&amp;#x540D;&amp;#x304C;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x3067;&amp;#x8B58;&amp;#x5225;&amp;#x3057;&amp;#x306A;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x9867;&amp;#x5BA2;&amp;#x3092;&amp;#x898B;&amp;#x8AA4;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x7D50;&amp;#x69CB;&amp;#x91CD;&amp;#x8981;&amp;#x306A;&amp;#x6982;&amp;#x5FF5;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3042;&amp;#x3068;&amp;#x3001;&amp;#x7279;&amp;#x5FB4;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x306F;equals&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x7B49;&amp;#x4FA1;&amp;#x5224;&amp;#x5B9A;&amp;#x3067;&amp;#x306F;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x3057;&amp;#x304B;&amp;#x898B;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;hashCode&amp;#x3082;&amp;#x305D;&amp;#x3046;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n\n
  26. &amp;#x672C;&amp;#x8CEA;&amp;#x7684;&amp;#x306B;&amp;#x306F;&amp;#x3001;getFullName&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x4E0D;&amp;#x5177;&amp;#x5408;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x89E3;&amp;#x6D88;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30B3;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8003;&amp;#x3048;&amp;#x3066;&amp;#x307F;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x7A0B;&amp;#x5EA6;&amp;#x306E;&amp;#x898F;&amp;#x6A21;&amp;#x306A;&amp;#x3089;&amp;#x306A;&amp;#x3093;&amp;#x3066;&amp;#x3053;&amp;#x3068;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3067;&amp;#x304B;&amp;#x3044;&amp;#x30BD;&amp;#x30D5;&amp;#x30C8;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x306A;&amp;#x3089;&amp;#x8AB0;&amp;#x304C;&amp;#x4E0D;&amp;#x7528;&amp;#x610F;&amp;#x306A;&amp;#x66F4;&amp;#x65B0;&amp;#x3092;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x4E0D;&amp;#x5177;&amp;#x5408;&amp;#x3092;&amp;#x89E3;&amp;#x6D88;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x6839;&amp;#x672C;&amp;#x5BFE;&amp;#x7B56;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x3082;&amp;#x305D;&amp;#x3082;&amp;#x4E0D;&amp;#x5177;&amp;#x5408;&amp;#x306E;&amp;#x6E29;&amp;#x5E8A;&amp;#x3092;&amp;#x4F5C;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x5DE5;&amp;#x592B;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;&amp;#xFF1F;&amp;#x3086;&amp;#x3048;&amp;#x306B;&amp;#x3001;MString&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x5171;&amp;#x6709;&amp;#x3059;&amp;#x308B;&amp;#x5024;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306F;&amp;#x4E0D;&amp;#x5909;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3079;&amp;#x304D;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  27. Java&amp;#x306E;String&amp;#x306F;Immutable&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002;concat&amp;#x3067;&amp;#x9023;&amp;#x7D50;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x306B;&amp;#x3001;firstName&amp;#x304C;&amp;#x5909;&amp;#x308F;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x306A;&amp;#x3068;&amp;#x601D;&amp;#x3063;&amp;#x305F;&amp;#x3053;&amp;#x3068;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x304B;&amp;#xFF1F;&amp;#x305D;&amp;#x308C;&amp;#x306F;&amp;#x6B63;&amp;#x89E3;&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x58CA;&amp;#x3057;&amp;#x3061;&amp;#x3083;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  28. &amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5C5E;&amp;#x6027;&amp;#x306F;&amp;#x554F;&amp;#x3044;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x8B58;&amp;#x5225;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x3068;&amp;#x7B49;&amp;#x4FA1;&amp;#x5224;&amp;#x5B9A;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308C;&amp;#x3070;OK&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  29. Schema-Generator&amp;#x306E;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x304C;Entity&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x3001;Entity&amp;#x30A4;&amp;#x30F3;&amp;#x30BF;&amp;#x30FC;&amp;#x30D5;&amp;#x30A7;&amp;#x30A4;&amp;#x30B9;&amp;#x3002;\n
  30. 5&amp;#x6B73;&amp;#x306E;&amp;#x3053;&amp;#x308D;&amp;#x3068;&amp;#x306F;&amp;#x3001;&amp;#x8EAB;&amp;#x9577;&amp;#x3082;&amp;#x5E74;&amp;#x9F62;&amp;#x3082;&amp;#x5909;&amp;#x308F;&amp;#x3063;&amp;#x305F;&amp;#x4ECA;&amp;#x306E;&amp;#x81EA;&amp;#x5206;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x304C;&amp;#x3001;&amp;#x79C1;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x5909;&amp;#x308A;&amp;#x306A;&amp;#x3044;&amp;#x3002;&amp;#x7D50;&amp;#x5A5A;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x540D;&amp;#x524D;&amp;#x304C;&amp;#x5909;&amp;#x308F;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3042;&amp;#x308B;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3067;&amp;#x3082;&amp;#x79C1;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3002;&amp;#x305D;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x98A8;&amp;#x306B;&amp;#x898B;&amp;#x5206;&amp;#x3051;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x30A8;&amp;#x30F3;&amp;#x30C6;&amp;#x30A3;&amp;#x30C6;&amp;#x30A3;&amp;#x306E;&amp;#x6982;&amp;#x5FF5;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x3068;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x306B;&amp;#x3088;&amp;#x308B;&amp;#x7B49;&amp;#x4FA1;&amp;#x5224;&amp;#x5B9A;&amp;#x304C;&amp;#x5FC5;&amp;#x9808;&amp;#x3002;\n
  31. \n
  32. &amp;#x4E0A;&amp;#x304B;&amp;#x3089;&amp;#x9806;&amp;#x756A;&amp;#x306B;&amp;#x8AAC;&amp;#x660E;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x3001;&amp;#x3053;&amp;#x3093;&amp;#x306A;&amp;#x611F;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002;Java&amp;#x306E;String&amp;#x306F;Immutable&amp;#x3002;Objective-C&amp;#x306B;&amp;#x306F;MutableString&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;VO&amp;#x306F;&amp;#x57FA;&amp;#x672C;Immutable&amp;#x3060;&amp;#x3068;&amp;#x8003;&amp;#x3048;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&amp;#x5024;&amp;#x306F;&amp;#x5171;&amp;#x6709;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x76EE;&amp;#x7684;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x540C;&amp;#x4E00;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x3067;&amp;#x5024;&amp;#x304C;&amp;#x3053;&amp;#x308D;&amp;#x3053;&amp;#x308D;&amp;#x5909;&amp;#x308F;&amp;#x3063;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x306E;&amp;#x306F;&amp;#x3001;&amp;#x4E00;&amp;#x8CAB;&amp;#x6027;&amp;#x304C;&amp;#x306A;&amp;#x304F;&amp;#x5371;&amp;#x967A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4E0D;&amp;#x5177;&amp;#x5408;&amp;#x304C;&amp;#x767A;&amp;#x751F;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x539F;&amp;#x56E0;&amp;#x7A76;&amp;#x660E;&amp;#x306B;&amp;#x6642;&amp;#x9593;&amp;#x304C;&amp;#x304B;&amp;#x304B;&amp;#x308B;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;&amp;#x3042;&amp;#x305A;&amp;#x304B;&amp;#x308A;&amp;#x77E5;&amp;#x3089;&amp;#x306C;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x3067;&amp;#x3001;&amp;#x610F;&amp;#x56F3;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x72B6;&amp;#x614B;&amp;#x306E;&amp;#x66F4;&amp;#x65B0;&amp;#x304C;&amp;#x884C;&amp;#x308F;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x9632;&amp;#x304C;&amp;#x306A;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306E;&amp;#x72B6;&amp;#x614B;&amp;#x3092;&amp;#x4E0D;&amp;#x5909;(Immutable)&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x63A8;&amp;#x5968;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  33. \n
  34. Schema-Generator&amp;#x306E;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x304C;Entity&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x3001;Entity&amp;#x30A4;&amp;#x30F3;&amp;#x30BF;&amp;#x30FC;&amp;#x30D5;&amp;#x30A7;&amp;#x30A4;&amp;#x30B9;&amp;#x3002;ActionContext&amp;#x306F;&amp;#x5B9F;&amp;#x306F;Immutable&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;Mutable&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  35. EffectiveJave&amp;#x306B;&amp;#x66F8;&amp;#x304B;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30CE;&amp;#x30A6;&amp;#x30CF;&amp;#x30A6;&amp;#x3067;&amp;#x3001;DDD&amp;#x306B;&amp;#x76F4;&amp;#x63A5;&amp;#x95A2;&amp;#x4FC2;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;VO&amp;#x306F;&amp;#x57FA;&amp;#x672C;Immutable&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x524D;&amp;#x63D0;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x3055;&amp;#x3048;&amp;#x3066;&amp;#x304A;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\nsetter&amp;#x304C;&amp;#x3042;&amp;#x3063;&amp;#x3066;&amp;#x306F;&amp;#x306A;&amp;#x3093;&amp;#x306B;&amp;#x3082;&amp;#x306A;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x306F;&amp;#x5F53;&amp;#x7136;&amp;#x3002;\nfinal&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&amp;#x8AA4;&amp;#x3063;&amp;#x3066;setter&amp;#x66F8;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x3001;&amp;#x518D;&amp;#x4EE3;&amp;#x5165;&amp;#x3092;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30E9;&amp;#x3067;&amp;#x691C;&amp;#x51FA;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3092;private&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306F;&amp;#x3001;&amp;#x5916;&amp;#x90E8;&amp;#x304B;&amp;#x3089;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x7981;&amp;#x6B62;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3067;&amp;#x3059;&amp;#x3002;public final &amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3067;&amp;#x3082;&amp;#x3088;&amp;#x3044;&amp;#x304C;&amp;#x3001;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;&amp;#x3057;&amp;#x305F;&amp;#x5F8C;&amp;#x306B;&amp;#x5185;&amp;#x90E8;&amp;#x5B9F;&amp;#x88C5;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3042;&amp;#x307E;&amp;#x308A;&amp;#x63A8;&amp;#x5968;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n&amp;#x6D3E;&amp;#x751F;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x3067;setter&amp;#x306E;&amp;#x8FFD;&amp;#x52A0;&amp;#x3068;&amp;#x3001;getter&amp;#x306E;&amp;#x30AA;&amp;#x30FC;&amp;#x30D0;&amp;#x30FC;&amp;#x30E9;&amp;#x30A4;&amp;#x30C9;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x4E0D;&amp;#x5909;&amp;#x6027;&amp;#x3092;&amp;#x7834;&amp;#x58CA;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x9632;&amp;#x3050;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;final class&amp;#x3068;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;\n&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x3001;&amp;#x5B9F;&amp;#x88C5;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306E;&amp;#x307F;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;Mock&amp;#x30E9;&amp;#x30A4;&amp;#x30D6;&amp;#x30E9;&amp;#x30EA;&amp;#x3068;&amp;#x306E;&amp;#x76F8;&amp;#x6027;&amp;#x3067;final&amp;#x306B;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x5834;&amp;#x5408;&amp;#x306F;Mock&amp;#x306F;&amp;#x4F7F;&amp;#x3048;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;&amp;#x307E;&amp;#x3041;&amp;#x3001;&amp;#x30C8;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x30AA;&amp;#x30D5;&amp;#x3060;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x6B21;&amp;#x306E;&amp;#x3001;&amp;#x53EF;&amp;#x5909;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x3001;&amp;#x3064;&amp;#x307E;&amp;#x308A;Collection&amp;#x3084;Map&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x540C;&amp;#x4E00;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x3067;&amp;#x3069;&amp;#x3093;&amp;#x3069;&amp;#x3093;&amp;#x72B6;&amp;#x614B;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x3067;&amp;#x3059;&amp;#x306D;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x306E;&amp;#x53C2;&amp;#x7167;&amp;#x3092;&amp;#x5916;&amp;#x90E8;&amp;#x306B;&amp;#x6E21;&amp;#x3057;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3082;&amp;#x3061;&amp;#x308D;&amp;#x3093;&amp;#x72B6;&amp;#x614B;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x4FDD;&amp;#x6301;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306E;&amp;#x4E0D;&amp;#x5909;&amp;#x6027;&amp;#x304C;&amp;#x58CA;&amp;#x308C;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x9632;&amp;#x3050;&amp;#x306B;&amp;#x306F;clone&amp;#x306A;&amp;#x3069;&amp;#x3067;&amp;#x9632;&amp;#x5FA1;&amp;#x7684;&amp;#x306B;&amp;#x30B3;&amp;#x30D4;&amp;#x30FC;&amp;#x3057;&amp;#x305F;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x3092;&amp;#x53D7;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x4E0A;&amp;#x3067;&amp;#x306F;CloneUtil&amp;#x3063;&amp;#x3066;&amp;#x306E;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3042;&amp;#x3068;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  36. &amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x306E;&amp;#x6982;&amp;#x5FF5;&amp;#x3092;&amp;#x8003;&amp;#x3048;&amp;#x305F;&amp;#x308A;&amp;#x3001;&amp;#x5B9F;&amp;#x969B;&amp;#x306B;&amp;#x8B58;&amp;#x5225;&amp;#x5B50;&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x308A;&amp;#x3001;&amp;#x7B49;&amp;#x4FA1;&amp;#x5224;&amp;#x5B9A;&amp;#x306E;&amp;#x4ED5;&amp;#x7D44;&amp;#x307F;&amp;#x3092;&amp;#x5B9F;&amp;#x88C5;&amp;#x3057;&amp;#x305F;&amp;#x308A;&amp;#x306F;&amp;#x3001;&amp;#x30B3;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x304B;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F55;&amp;#x3067;&amp;#x3082;&amp;#x304B;&amp;#x3093;&amp;#x3067;&amp;#x3082;Entity&amp;#x3060;&amp;#x3068;&amp;#x3044;&amp;#x308D;&amp;#x3044;&amp;#x308D;&amp;#x5927;&amp;#x5909;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30A4;&amp;#x30C7;&amp;#x30F3;&amp;#x30C6;&amp;#x30A3;&amp;#x30C6;&amp;#x30A3;&amp;#x3092;&amp;#x6301;&amp;#x305F;&amp;#x306A;&amp;#x3044;&amp;#x5024;&amp;#x306E;&amp;#x6642;&amp;#x306F;VO&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;VO&amp;#x306F;Entity&amp;#x304B;&amp;#x3089;&amp;#x53C2;&amp;#x7167;&amp;#x3092;&amp;#x305F;&amp;#x3069;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308C;&amp;#x3070;&amp;#x3088;&amp;#x3044;&amp;#x3002;\n
  37. &amp;#x6B21;&amp;#x306F;&amp;#x30B5;&amp;#x30FC;&amp;#x30D3;&amp;#x30B9;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  38. &amp;#x6D88;&amp;#x53BB;&amp;#x6CD5;&amp;#x7684;&amp;#x306B;Entity&amp;#x3084;VO&amp;#x306B;&amp;#x8A72;&amp;#x5F53;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x30B5;&amp;#x30FC;&amp;#x30D3;&amp;#x30B9;&amp;#x3068;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x975E;&amp;#x5E38;&amp;#x306B;&amp;#x90FD;&amp;#x5408;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  39. &amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x306B;&amp;#x63A5;&amp;#x7D9A;&amp;#x3059;&amp;#x308B;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3092;&amp;#x8AB0;&amp;#x306B;&amp;#x3057;&amp;#x3088;&amp;#x3046;&amp;#x304B;&amp;#x3068;&amp;#x601D;&amp;#x3063;&amp;#x305F;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;DataSource&amp;#x81EA;&amp;#x8EAB;&amp;#x304C;&amp;#x63A5;&amp;#x7D9A;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#xFF1F;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x9055;&amp;#x548C;&amp;#x611F;&amp;#x304C;&amp;#x3042;&amp;#x3063;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x30B5;&amp;#x30FC;&amp;#x30D3;&amp;#x30B9;&amp;#x3092;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;\n
  40. &amp;#x90FD;&amp;#x5408;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3060;&amp;#x3051;&amp;#x306B;&amp;#x4E71;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30C8;&amp;#x30E9;&amp;#x30F3;&amp;#x30B6;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x30B9;&amp;#x30AF;&amp;#x30EA;&amp;#x30D7;&amp;#x30C8;&amp;#x306B;&amp;#x50BE;&amp;#x5012;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x8981;&amp;#x6CE8;&amp;#x610F;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  41. &amp;#x6B21;&amp;#x306F;&amp;#x30E9;&amp;#x30A4;&amp;#x30D5;&amp;#x30B5;&amp;#x30A4;&amp;#x30AF;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  42. VM&amp;#x306E;&amp;#x30E1;&amp;#x30E2;&amp;#x30EA;&amp;#x4E0A;&amp;#x306B;&amp;#x3044;&amp;#x3064;&amp;#x3082;&amp;#x5B58;&amp;#x5728;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x306F;&amp;#x9650;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x3002;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3084;DB&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x3082;&amp;#x3002;\n&amp;#x539F;&amp;#x66F8;&amp;#x3067;&amp;#x306F;&amp;#x3001;Car&amp;#x306B;&amp;#x5BFE;&amp;#x3059;&amp;#x308B;Tire&amp;#x306E;&amp;#x95A2;&amp;#x4FC2;&amp;#x304C;Aggregate&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n\n
  43. \n
  44. DDD&amp;#x306B;&amp;#x9650;&amp;#x3089;&amp;#x305A;&amp;#x3001;&amp;#x30C7;&amp;#x30B6;&amp;#x30A4;&amp;#x30F3;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x306B;&amp;#x3082;&amp;#x767B;&amp;#x5834;&amp;#x3059;&amp;#x308B;&amp;#x6982;&amp;#x5FF5;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3092;&amp;#x4F5C;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x304C;&amp;#x8907;&amp;#x96D1;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x30AF;&amp;#x30E9;&amp;#x30A4;&amp;#x30A2;&amp;#x30F3;&amp;#x30C8;&amp;#x5074;&amp;#x306E;&amp;#x624B;&amp;#x9593;&amp;#x304C;&amp;#x304B;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;DI&amp;#x30B3;&amp;#x30F3;&amp;#x30C6;&amp;#x30CA;&amp;#x304C;&amp;#x4F7F;&amp;#x308F;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3082;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  45. &amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x5358;&amp;#x7D14;&amp;#x306A;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x99B4;&amp;#x67D3;&amp;#x307F;&amp;#x6DF1;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;Entity&amp;#x3067;&amp;#x3082;ValueObject&amp;#x3067;&amp;#x3082;Factory&amp;#x306E;&amp;#x8CAC;&amp;#x52D9;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;StringBuilder&amp;#x306B;&amp;#x8FD1;&amp;#x3044;&amp;#x30A4;&amp;#x30E1;&amp;#x30FC;&amp;#x30B8;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x4F8B;&amp;#x3067;&amp;#x306F;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x3082;&amp;#x69CB;&amp;#x308F;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x4EE5;&amp;#x4E0A;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x304C;&amp;#x8907;&amp;#x96D1;&amp;#x306A;&amp;#x3089;&amp;#x5FC5;&amp;#x8981;&amp;#x3060;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x305F;&amp;#x3060;&amp;#x3001;Immutable&amp;#x3067;&amp;#x30B3;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30E9;&amp;#x30AF;&amp;#x30BF;&amp;#x306E;&amp;#x5F15;&amp;#x6570;&amp;#x304C;&amp;#x591A;&amp;#x3044;&amp;#x5927;&amp;#x304D;&amp;#x3081;&amp;#x306E;VO&amp;#x306F;&amp;#x3001;Factory&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;Builder&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3082;&amp;#x306E;&amp;#x3092;&amp;#x5C0E;&amp;#x5165;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3088;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  46. &amp;#x539F;&amp;#x7406;&amp;#x4E3B;&amp;#x7FA9;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x8907;&amp;#x96D1;&amp;#x306A;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x3060;&amp;#x3051;&amp;#x4F5C;&amp;#x308C;&amp;#x3070;&amp;#x3088;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n- &amp;#x30DD;&amp;#x30EA;&amp;#x30E2;&amp;#x30FC;&amp;#x30D5;&amp;#x30A3;&amp;#x30BA;&amp;#x30E0;&amp;#x304C;&amp;#x4E0D;&amp;#x8981;&amp;#x306A;&amp;#x6642;\n- &amp;#x30AF;&amp;#x30E9;&amp;#x30A4;&amp;#x30A2;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x5B9F;&amp;#x88C5;&amp;#x306E;&amp;#x8A73;&amp;#x7D30;&amp;#x3092;&amp;#x5FC5;&amp;#x8981;&amp;#x3068;&amp;#x3059;&amp;#x308B;&amp;#x6642;\n- &amp;#x7D44;&amp;#x307F;&amp;#x7ACB;&amp;#x3066;&amp;#x304C;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x306A;&amp;#x6642;\n- public&amp;#x306A;&amp;#x30B3;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30E9;&amp;#x30AF;&amp;#x30BF;&amp;#x304C;&amp;#x4E0D;&amp;#x5909;&amp;#x6761;&amp;#x4EF6;&amp;#x3092;&amp;#x6E80;&amp;#x305F;&amp;#x3059;&amp;#x30A2;&amp;#x30C8;&amp;#x30DF;&amp;#x30C3;&amp;#x30AF;&amp;#x306A;&amp;#x64CD;&amp;#x4F5C;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x6642;\n&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3067;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n&amp;#x30B3;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30E9;&amp;#x30AF;&amp;#x30BF;&amp;#x306E;&amp;#x5F15;&amp;#x6570;&amp;#x306E;&amp;#x6570;&amp;#x304C;&amp;#x591A;&amp;#x3044;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306F;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3060;&amp;#x3068;&amp;#x3057;&amp;#x3093;&amp;#x3069;&amp;#x3044;&amp;#x304B;&amp;#x3082;&amp;#x3057;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x305D;&amp;#x3093;&amp;#x306A;&amp;#x5834;&amp;#x5408;&amp;#x306F;Builder&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3068;&amp;#x3044;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n&amp;#x3061;&amp;#x306A;&amp;#x307F;&amp;#x306B;Scala&amp;#x3067;&amp;#x306F;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30CB;&amp;#x30AA;&amp;#x30F3;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x540C;&amp;#x540D;&amp;#x306E;object&amp;#x3092;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x632F;&amp;#x308B;&amp;#x821E;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;List&amp;#x306F;List.apply&amp;#x306E;&amp;#x69CB;&amp;#x6587;&amp;#x7CD6;&amp;#x8863;&amp;#x3067;&amp;#x3059;&amp;#x3002;\n
  47. \n
  48. \n
  49. \n
  50. Repository&amp;#x306E;&amp;#x8CAC;&amp;#x52D9;&amp;#x306F;&amp;#x3001;&amp;#x30C9;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x5C64;&amp;#x3068;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30E9;&amp;#x5C64;&amp;#x306E;&amp;#x5909;&amp;#x63DB;&amp;#x3001;Dxo&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x3041;&amp;#x3001;Dao&amp;#x3092;&amp;#x76F4;&amp;#x63A5;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3051;&amp;#x3069;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x3068;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x304C;&amp;#x5D29;&amp;#x308C;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x8981;&amp;#x6CE8;&amp;#x610F;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x7DBA;&amp;#x9E97;&amp;#x306B;&amp;#x5206;&amp;#x3051;&amp;#x305F;&amp;#x3044;&amp;#x306A;&amp;#x3089;&amp;#x3001;&amp;#x304D;&amp;#x3061;&amp;#x3063;&amp;#x3068;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;&amp;#x30FC;&amp;#x5B88;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x30AB;&amp;#x30AA;&amp;#x30B9;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;Dxo&amp;#x306F;DSL&amp;#x3067;&amp;#x89E3;&amp;#x6C7A;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;\n
  51. &amp;#x5F0A;&amp;#x793E;&amp;#x306E;&amp;#x5BAE;&amp;#x672C;&amp;#x304C;&amp;#x62C5;&amp;#x5F53;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;basicunits&amp;#x3092;&amp;#x8FD1;&amp;#x65E5;&amp;#x4E2D;&amp;#x306B;&amp;#x516C;&amp;#x958B;&amp;#x3059;&amp;#x308B;&amp;#x4E88;&amp;#x5B9A;&amp;#x3067;&amp;#x3059;&amp;#x3002;Mutable&amp;#x306A;java.util.Date&amp;#x3092;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306A;VO&amp;#x30E9;&amp;#x30A4;&amp;#x30D6;&amp;#x30E9;&amp;#x30EA;&amp;#x3067;&amp;#x3059;&amp;#x3002;AL&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x597D;&amp;#x304D;&amp;#x306B;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;\n
  52. \n