SlideShare a Scribd company logo
1 of 52
•                •   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

What's hot

【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介オラクルエンジニア通信
 
Gradleどうでしょう
GradleどうでしょうGradleどうでしょう
GradleどうでしょうTakuma Watabiki
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門増田 亨
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル増田 亨
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し増田 亨
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようAkira Shimosako
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門Yuki Morishita
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Taro L. Saito
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来増田 亨
 
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみたTech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみたMasaru Takahashi
 
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukLaravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukShohei Okada
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築Masashi Shinbara
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE).NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)Tusyoshi Matsuzaki
 
Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012Anton Arhipov
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...NTT DATA Technology & Innovation
 

What's hot (20)

【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
【Oracle Cloud ウェビナー】WebLogic Serverのご紹介
 
Gradleどうでしょう
GradleどうでしょうGradleどうでしょう
Gradleどうでしょう
 
ドメイン駆動設計入門
ドメイン駆動設計入門ドメイン駆動設計入門
ドメイン駆動設計入門
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイルドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
 
RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門RDB開発者のためのApache Cassandra データモデリング入門
RDB開発者のためのApache Cassandra データモデリング入門
 
Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例Presto As A Service - Treasure DataでのPresto運用事例
Presto As A Service - Treasure DataでのPresto運用事例
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみたTech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
Tech Summit 2018 【事例紹介】 自社サービスに Azure IoT Hub Device Provisioning Serviceを適用してみた
 
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfukLaravel でやってみるクリーンアーキテクチャ #phpconfuk
Laravel でやってみるクリーンアーキテクチャ #phpconfuk
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE).NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
.NET Web プログラミングにおける非同期 IO のすべて (Build Insider OFFLINE)
 
Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012Mastering Java Bytecode With ASM - 33rd degree, 2012
Mastering Java Bytecode With ASM - 33rd degree, 2012
 
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
1日5分でPostgreSQLに詳しくなるアプリの開発 ~PostgRESTを使ってみた~(第38回PostgreSQLアンカンファレンス@オンライン 発...
 

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

DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻都元ダイスケ Miyamoto
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldChristian Melchior
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料Shinichi Ogawa
 
JSLT: JSON querying and transformation
JSLT: JSON querying and transformationJSLT: JSON querying and transformation
JSLT: JSON querying and transformationLars Marius Garshol
 
Cross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumCross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumYiguang Hu
 
Client-side MVC with Backbone.js
Client-side MVC with Backbone.js Client-side MVC with Backbone.js
Client-side MVC with Backbone.js iloveigloo
 
Client-side MVC with Backbone.js (reloaded)
Client-side MVC with Backbone.js (reloaded)Client-side MVC with Backbone.js (reloaded)
Client-side MVC with Backbone.js (reloaded)iloveigloo
 
みゆっき☆Think#7 「本気で学ぶJavascript」
みゆっき☆Think#7 「本気で学ぶJavascript」みゆっき☆Think#7 「本気で学ぶJavascript」
みゆっき☆Think#7 「本気で学ぶJavascript」techtalkdwango
 
第7回みゆっき☆Think 本気で学ぶ JavaScript
第7回みゆっき☆Think 本気で学ぶ JavaScript第7回みゆっき☆Think 本気で学ぶ JavaScript
第7回みゆっき☆Think 本気で学ぶ JavaScriptTakuya Fujimura
 
Appengine Java Night #2b
Appengine Java Night #2bAppengine Java Night #2b
Appengine Java Night #2bShinichi Ogawa
 
RSpec on Rails Tutorial
RSpec on Rails TutorialRSpec on Rails Tutorial
RSpec on Rails TutorialWen-Tien Chang
 
Killing Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORMKilling Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORMOrtus Solutions, Corp
 
Getting Started with Javascript
Getting Started with JavascriptGetting Started with Javascript
Getting Started with JavascriptAkshay Mathur
 
JavaScript!
JavaScript!JavaScript!
JavaScript!RTigger
 
スマートフォンサイトの作成術 - 大川洋一
スマートフォンサイトの作成術 - 大川洋一スマートフォンサイトの作成術 - 大川洋一
スマートフォンサイトの作成術 - 大川洋一okyawa
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery EssentialsMark Rackley
 
Crafting Evolvable Api Responses
Crafting Evolvable Api ResponsesCrafting Evolvable Api Responses
Crafting Evolvable Api Responsesdarrelmiller71
 

Similar to コードで学ぶドメイン駆動設計入門 (20)

DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻DevLOVE Beautiful Development - 第一幕 陽の巻
DevLOVE Beautiful Development - 第一幕 陽の巻
 
Gaej For Beginners
Gaej For BeginnersGaej For Beginners
Gaej For Beginners
 
Painless Persistence in a Disconnected World
Painless Persistence in a Disconnected WorldPainless Persistence in a Disconnected World
Painless Persistence in a Disconnected World
 
初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料初心者向けGAE/Java説明資料
初心者向けGAE/Java説明資料
 
JSLT: JSON querying and transformation
JSLT: JSON querying and transformationJSLT: JSON querying and transformation
JSLT: JSON querying and transformation
 
Cross platform Mobile development on Titanium
Cross platform Mobile development on TitaniumCross platform Mobile development on Titanium
Cross platform Mobile development on Titanium
 
Client-side MVC with Backbone.js
Client-side MVC with Backbone.js Client-side MVC with Backbone.js
Client-side MVC with Backbone.js
 
Client-side MVC with Backbone.js (reloaded)
Client-side MVC with Backbone.js (reloaded)Client-side MVC with Backbone.js (reloaded)
Client-side MVC with Backbone.js (reloaded)
 
みゆっき☆Think#7 「本気で学ぶJavascript」
みゆっき☆Think#7 「本気で学ぶJavascript」みゆっき☆Think#7 「本気で学ぶJavascript」
みゆっき☆Think#7 「本気で学ぶJavascript」
 
第7回みゆっき☆Think 本気で学ぶ JavaScript
第7回みゆっき☆Think 本気で学ぶ JavaScript第7回みゆっき☆Think 本気で学ぶ JavaScript
第7回みゆっき☆Think 本気で学ぶ JavaScript
 
Flutter 4
Flutter 4Flutter 4
Flutter 4
 
Appengine Java Night #2b
Appengine Java Night #2bAppengine Java Night #2b
Appengine Java Night #2b
 
RSpec on Rails Tutorial
RSpec on Rails TutorialRSpec on Rails Tutorial
RSpec on Rails Tutorial
 
Killing Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORMKilling Shark-Riding Dinosaurs with ORM
Killing Shark-Riding Dinosaurs with ORM
 
Getting Started with Javascript
Getting Started with JavascriptGetting Started with Javascript
Getting Started with Javascript
 
JavaScript!
JavaScript!JavaScript!
JavaScript!
 
スマートフォンサイトの作成術 - 大川洋一
スマートフォンサイトの作成術 - 大川洋一スマートフォンサイトの作成術 - 大川洋一
スマートフォンサイトの作成術 - 大川洋一
 
SharePoint and jQuery Essentials
SharePoint and jQuery EssentialsSharePoint and jQuery Essentials
SharePoint and jQuery Essentials
 
Crafting Evolvable Api Responses
Crafting Evolvable Api ResponsesCrafting Evolvable Api Responses
Crafting Evolvable Api Responses
 
JS Essence
JS EssenceJS Essence
JS Essence
 

More from 潤一 加藤

Sbt職人のススメ
Sbt職人のススメSbt職人のススメ
Sbt職人のススメ潤一 加藤
 
第一回Scala会議
第一回Scala会議第一回Scala会議
第一回Scala会議潤一 加藤
 
第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)
第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)
第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)潤一 加藤
 

More from 潤一 加藤 (6)

Sbt職人のススメ
Sbt職人のススメSbt職人のススメ
Sbt職人のススメ
 
Scala with DDD
Scala with DDDScala with DDD
Scala with DDD
 
Actor&stm
Actor&stmActor&stm
Actor&stm
 
第一回Scala会議
第一回Scala会議第一回Scala会議
第一回Scala会議
 
第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)
第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)
第1回 チキチキ『( ゜ェ゜)・;'.、ゴフッ』 - シングルトンパターン(Java)
 
ddd+scala
ddd+scaladdd+scala
ddd+scala
 

Recently uploaded

Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 

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

  • 1.
  • 2.
  • 3. • seasar, java-ja 18 • • 38 • Scala Advent Calendar • Java 2010/12/31 ! • S2Chronos, S2Config • @j5ik2o
  • 4. DDD
  • 5.  
  • 6.
  • 8.
  • 11.
  • 12. • • • http://www.flickr.com/photos/yoshimov/228695466/
  • 13.
  • 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 )
  • 21.
  • 22.
  • 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
  • 41.
  • 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