SlideShare a Scribd company logo
学習パターンを実践する


 オブジェクト指向の設計と実装の
     学び方のコツ
       2012年9月12日
    有限会社 システム設計 増田
     masuda@system-sekkei.com
      Twitter : @masuda220
オブジェクト指向
オブジェクトを
上手に設計・実装すると

・バグが激減
・修正・変更が簡単
・早くコードが安定する
オブジェクト指向の
発想・手法を会得すると
分析・モデリング
  (上流)     同じアプローチでできる
フレームワーク
 ミドルウェア
 言語・ツール
           深く理解できる

アジャイルな
 開発手法      自然に身につく
どうやって学ぶ?
Copyright 慶応SFC 学習パターンプロジェクト




学習パターン
創造的な学び方のコツ
学びのコツ




   学びのデザイン
  自分で
  自分の「学び」を
  デザインする
学びのコツ




目的へのアプローチ
 目的地への道は
 ひとつではない
学びのコツ




        創造的な学び
 必死に「覚える」学びから
 「つくる」・「実践する」
 中での学びへ
設計の学びの鉄則
設計の学びの鉄則




   コードを書く
           言語のシャワー
           じゃぶじゃぶとあびていると
           不思議と、けっこう身につくものだ


                          学びのコツ
設計の学びの鉄則




    考えて
   コードを書く
           自分で考える
           「なぜ?」という気持ちを
           忘れない
                          学びのコツ
設計の学びの鉄則




  人の役に立つ
 ソフトウェアを書く
           「書き上げた(動いた)」は道半ば
           自分がわかる(動かす)ために書き
           他の人がわかる(使える)ように書き直す

                           学びのコツ
設計の学び
3つの ステージ
1st Stage

              9つの簡単なコーディングルールで
    修行する      オブジェクト指向の基本を体に叩き込む



2nd Stage

              Become a Software Developer
一人前になる        6つの役割ステレオタイプ
              で設計する



Final Stage
               Become a
               Thoughtful Software Developer

   突き抜ける        Become a
                Leading Software Designer
1 st
   Stage
  修行する

基本を体に叩き込む
オブジェクトの設計と実装の基本



  小さくする
   クラス     50行以内
   メソッド    3行以内
   パッケージ   10ファイル以内
学びのコツ


        小さく を身体に叩き込む


 身体で覚える
 意識しなくても           プロトタイピング
 自然に               小さく作ってみて
 小さく作るようになるまで      初めてわかることがある
 繰り返す

                「まねぶ」ことから
                小さく作る「型(パターン)」を真似る
必然的に
    オブジェクト指向(小さくする)
    で書くことになる


    9つの簡単なルール
           「Thought Works アンソロジー」
             第5章 オブジェクト指向エクササイズ
原文 http://www.bennadel.com/resources/uploads/2012/ObjectCalisthenics.pdf
外国語の普段づかい
基本を身体に叩き込む
1.ひとつのメソッドのインデントは1段階まで
2.else 句 を使わない
3.すべてのプリミティブ、文字型をラッピング
4.ファーストクラスコレクションを使う
5.1行につき、ドットはひとつ
6.名前は省略しない
7.クラス50行、パッケージ10ファイルまで
8.インスタンス変数は2つまで
9.getter/setter を使わない
How
身体への叩き込み方
自分で書いた
                        マーチンファウラー
実際のコード           リファクタリング



          小さく書き換える
          テクニックを
          知る                 ケントベック

                        実装パターン
 「9つのルール」の
 ルール違反を
見つけて書き直す
               小さく作る
               書き方を知る
学びのコツ


   隠れた関係性から学ぶ
   「小さく作る」を合言葉に
   いろいろつながってくる

              「実装パターン」

 「リファクタリング」              「9つのルール」



        自分の書いたコード
1. 実際のコードでルール違反を見つける
2. ルール通りに書き直してみる
  •   とりあえず 1000行
3. 書き直す手掛かり
  – オブジェクト指向エクササイズ
  •   説明、サンプルコード、パターン名
 – リファクタリング
  •   第3章 いやな臭い
 – 実装パターン
  •   ツアーガイド
  •   各パターンの説明、サンプルコード
エクササイズとリファクタリング
• ルール1 メソッドのインデントは一段階まで
 – いやな臭い          長すぎるメソッド
 – 処方箋            メソッドの抽出(110)
• ルール3          すべてのプリミティブをラッピング
 – いやな臭い          基本データ型への執着
 – 処方箋            オブジェクトでデータ値を置換(175)
• ルール7 クラスは50行以内
 – いやな臭い          大きなクラス
 – 処方箋            クラスの抽出(149)
   And more …     自分で考える、 学びの共同体をつくる、…
エクササイズと実装パターン
• ルール2 else 句は使わない
 – ガード条件(87)
• ルール4 ファーストクラスコレクション
 – コレクションの拡張(138)
• ルール9 getter/setter は使わない
 – getterメソッド (118)
                       ケントベックは、どう言っている?
 – setter メソッド (120)

   And more …   自分で考える、 学びの共同体をつくる、…
小さく作る
                                 パターン集




                                  パターン集
第5章
オブジェクト指向エクササイズ
9つのルール



 slideshare:

 オブジェクト指向エクササイズのススメ
 http://www.slideshare.net/yojik/ss-1033616

 オブジェクト指向できていますか?
 http://www.slideshare.net/MoriharuOhzu/ss-14083300

                            原文     http://www.bennadel.com/resources/uploads/2012/ObjectCalisthenics.pdf
<おまけ>もう一つの練習法

手続型の肥満コードを
オブジェクトにトランスフォームする
2つの最強パターン

パラメータオブジェクトパターン
実装パターン ( 72 )
リファクタリング ( 295 )   パラメータを一つのオブジェクトにまとめ、関連ロジックをそこに移動




メソッドオブジェクトパターン
実装パターン ( 101 )     長いメソッドをひとつのオブジェクトに置き換え、カプセル化する
リファクタリング ( 135 )
Why
なぜ、小さく作るのか?
 頭で理解したい人は
• オブジェクト指向エクササイズ
 – 俯瞰的な説明 4ページ を丁寧に読む
 – 個々のルールの説明 10ページ

• 実装パターン
 – 俯瞰的な説明 20ページ
   いくつかパターンを体験した後なんども読みなおす
  • 1章 はじめに
  • 3章 プログラミングの理論
  • 4章 動機
 – 各パターンの説明 120ページ (77パターン)
1St Stage まとめ
• 目標
 – オブジェクト指向の基本「小さく」を体に叩き込む
• 行動
 – オブジェクト指向エクササイズを実コードで繰返す
 – 小さく作るパターンを実践して習得する
   • リファクタリング
   • 実装パターン

身体で覚える    意識しなくても自然に「小さく作るが」できるようになるまで繰り返す
プロトタイピング 小さく作ってみて初めてわかることがある
「まねぶ」ことから 小さく作る「型(パターン)」を真似る
2 nd
    Stage
  一人前になる
Become a Software Developer
オブジェクト指向の中核アイデア

  オブジェクトたちが
小さな

問題を解決するために
小数の隣人と
協力(コラボレート)する
設計とは?
オブジェクトの役割分担を考え

協力(コラボレート)する
オブジェクトの隣人を考える

考えたら、実装して、動かしてみる。
考えて改善。
アンチパターン:大きなオブジェクト
  巨大なクラス       get
               get
  Import文の群れ   get

インスタンス変数の群れ    set
               set
 長いメソッドの群れ     set

                     データの入れ物クラス
                      getter/setter だけ

巨大なクラスのメリット(?)
何でも屋なので、役割の設計が不要
一枚岩なので、隣人との協力の設計が不要
役割分担して協力するとこんな感じ
              インタフェース役       小さく(50行以下)
                             役割が明確な
                   調整役       オブジェクトが
                             小数の隣人と協力する


  構造保持役           情報保持役
                                     制御役

              サービス提供役


                          サービス提供役      サービス提供役
情報保持役     情報保持役


情報保持役   サービス提供役           インタフェース役     インタフェース役
How
こういう設計スタイルを
  どうやって学ぶ?
学びのコツ




        創造的な学び
          いまの自分にはない
          見方、考え方、発想を
          手に入れる

「オブジェクトの役割」という考え方
「隣人との協力」という見方
設計スタイル

学びの準備と
4つのステップ
0.準備:基本スキルのチェック

1. 基本の言葉を知る
その言葉で

2. 「現在」のコードを語り

3. 「あるべき」コードを語り

4. コードで動かして、実感してみる
0.準備:基本できてますか?


     小さくする
                  クラス     50行以内
                  メソッド    3行以内
                  パッケージ   10ファイル以内

 50行以上の
   クラス
            気持ち
                  こう感じ始めたら準備OK
 3行以上の
  メソッド      悪い
10ファイル以上の
  パッケージ
1.基本の設計用語を知る



     まずはつかる
設計の言葉を知る
オブジェクトデザイン
By ワーフスブラック




              拾い読みで良いから
              原文も読みたい。
              訳語が少し…
オブジェクトデザイン
      基本の言葉
「役割ステレオタイプ」
意図的に
思い切り単純化した

オブジェクトの6つの役割
役割ステレオタイプ
      情報保持役                      調整役
        Information             Coordinator
           Holder




構造保持役                何でも屋から                   制御役
                                              Controller
Structurer          その道の専門家へ


         サービス提供役                インタフェース役
             Service Provider        Interfacer
オブジェクトデザイン
読み方ガイド for ビギナーズ
1章 設計概念
     1.1                   1.3
                1.2                     1.19
章扉   オブジェクト                オブジェクトの
                ロール(役割)                 まとめ
     機械装置                  役割ステレオタイプ



5章 コラボレーション(協力)
     5.1        5.4         5.4.1
     コラボレーション   コラボレーション                 5.9
章扉                          役割ステレオタイプ
     とは何か       を識別する戦略                  まとめ
                            がコラボレーション
     「リード文」     「リード文」
                            を暗示する
技術書の読み方のコツ


         鳥の眼と虫の眼
         俯瞰して全体を見る。
         詳細に部分を見る。
         2つの視点を行き来する。




  小説じゃないだから、
  最初から順番に読んで面白いわけがない。

  知らないことが書いてあるんだから、
  一読で、わかるわけがない。
技術書の読み方のコツ



            鳥の眼と虫の眼

俯瞰情報
はじめに       例えば、索引の
章の扉
節のリード文     ロールステレオタイプ   16の参照先
章のまとめ      コラボレーション     28の参照先
目次
索引         概要説明、詳細説明、関連用語を行ったり来たりする。
ここを上手く使う
オブジェクトデザインを
 鳥の眼と虫の眼で読み


役割ステレオタイプが
なんとなくわかってきたら
学びのコツ


   「はなす」ことでわかる
   その内容を完全にわかっていない段階でも
   その言葉を使って話してみる。

   そうすると、自分が何が理解できていないか把握できる。

   話し方を工夫することで、理解が進む。
   一種のプロトタイピング。インクリメンタルな開発。
2. 「現在」のコードを語る

 このオブジェクトの役割は?

 6つの役割ステレオタイプで語ってみる
うーん。何でも屋。役割が多すぎ。隣人が多すぎ。
     制御役?いや調整役か?
     If 文が多く、自分で判断しまくっている。制御役だな。
     get/set 使いすぎ?

構造化役っぽい。
複数のオブジェクトをグループ化してる。
複数のオブジェクトを必要とするロジックが少ないのは?
              こいつは情報保持役だな。
              隣人が少なく、わりと独立している。
サービス提供役だ。
暗号化ロジックを使って、パスワード生成。
情報保持役も兼ねている?

    インタフェース役。
    データベースとのデータやりとりが主な役割。
    なんか、それ以外のこともごちゃごちゃやっていそうだけど。
3. 「あるべき」コードを語る

オブジェクトの
役割分担と協力パターン、
こういうのはどう?
こんな感じ
                  インタフェース役
役割を                             少数の隣人
専門特化                調整役         と協力

  構造保持役            情報保持役
                                        制御役

                  サービス提供役


                             サービス提供役      サービス提供役
情報保持役     情報保持役


情報保持役   サービス提供役              インタフェース役     インタフェース役
おーなるほど。
 最初のインタフェース役からリクエスト受け取った時、
 いきなり調整役じゃなく、
 制御役が入って、内容判断と分岐が必要なんじゃない?

    最後のサービス提供役とインタフェース役の役割分担が
    よくわからないなあ。

そうか、コンポジションか。入れ替え可能になっているんだ。
変更に強そうだね。

    だとしたら、こっちのサービス提供役も、
    具体的なロジックは、さらに下請けのサービス提供役に
    委譲したほうが良いんでは?

そうだね。
このオブジェクトのロジック、ぐちゃぐちゃして気持ち悪かったんだ。
4. コードで実感してみる
コードを書いて、動かして設計を実感する。

役割:
専門特化するわかりやすさ
協力:
少数の隣人と協力するわかりやすさ
学びのコツ




   プロトタイピング
        設計用語は
        コードを書いて、動かして
        「はじめて」わかることばかり。

        設計用語をひとつ覚えるたびに、
        昨日のコードと今日のコードの違いが
        自分でわかるようになる。

        それが「設計の考え方」「見方」の変化。
学びのコツ



        成長の発見
         昨日の自分のコードと、
         今日の自分のコード。

         書き方の変化。
         なぜ、そう書くか? の考え方の変化。

         設計用語を使いこなし始めた
         自分を実感できる。

         学びの効果を実感できれば、
         さらなる学びへの意欲が湧く。
2nd Stage まとめ
• 目標
 – 一人前になる
   • オブジェクトへの役割の割り当てスキルの修得
   • 協力(コレボレーション)させ方スキルの修得
• 行動
 – 6つの役割ステレオタイプを、言葉として覚え
 – 実際のコードについて、その言葉で語ってみて
 – コードを書いて動かして実感する
• 参考書
 – オブジェクトデザイン by ワーフスブラック
創造的な学び    「覚える」学びから、「つくる」・「実践する」なかでの学びへ。
鳥の眼と虫の眼   俯瞰と詳細。2つの視点を行き来する。
成長の発見     昨日の自分と、今日の自分。コードの書き方の違いに敏感になる。
Final Stage
             突き抜ける
Become a   Thoughtful Software Developer
Become a   Leading Software Designer
すべての
Thoughtful Software Developer
のための名著。

Leading Software Designer
たちの、やり方・考え方を
具体的に説明した名著。
Domain-Driven Design (DDD)
     ドメイン駆動設計
ドメイン駆動設計への道
                 メソッドの構成                     For
                 オブジェクト間の特性の移動
                 データの再編成
                                             Thoughtful Developer
    小さくする        条件記述の単純化                    Leading Designer
エクササイズ           メソッド呼び出しの単純化
9つの簡単なルール




                                 オブジェクト
                                 設計スタイル          ドメインの理解
                                 役割ステレオタイプ       言葉の力
     実装哲学                        小数の隣人と協力        モデル駆動
     クラス
     振る舞いとメソッド
     状態とコレクション
Domain-Driven Design (DDD)
   ドメイン駆動設計を学ぶ




具体的な
学び方は?
Domain-Driven Design (DDD)
   ドメイン駆動設計を学ぶ




 むずかしい
Domain-Driven Design (DDD)
ドメイン駆動設計をがっつりやってみる



耳よりなはなし

 実際に作ることで          突き抜ける
Domain-Driven Design (DDD)
      ドメイン駆動設計をやってみる

(1)仕事でDDDにどっぷりとつかる
  •技術者募集中(Java, Spring , Mule ESB)
  •副業、パートタイム大歓迎
  •クラウドベースなので、いつでも、どこからでも、都合の良い時だけ、働くこと可能
  •報酬:時給換算で、2000円から1万円


(2)DDD 出張レッスン
  • 今、自分たちが格闘しているプロジェクト、その実コードで、DDDレッスン
  • 企業向け 1回3H、20万円 ×8回
  • 個人向け 1回1H、1万円 (複数名での割り勘あり) × 8回

                   お問い合わせは、masuda@system-sekkei.com
オブジェクトの設計と実装の学び方


    まとめ
設計の学びの鉄則




  考えて
  コードを書く
オブジェクトの設計と実装の基本



  小さくする
   クラス     50行以内
   メソッド    3行以内
   パッケージ   10ファイル以内
役割ステレオタイプ
設計スタイル                    小数の隣人と協力
              インタフェース役
                             小さな(50行以下の)
                             オブジェクトたち
                   調整役



  構造保持役           情報保持役
                                     制御役

              サービス提供役

                          サービス提供役      サービス提供役
情報保持役     情報保持役


情報保持役   サービス提供役           インタフェース役     インタフェース役
オブジェクトの設計・実装で
突き抜けたかったら

ドメイン駆動設計
学びのコツ




   学びのデザイン
  自分で
  自分の「学び」を
  デザインする
学びのコツ




 目的へのアプローチ
   目的地への道は
   ひとつではない
学びのコツ




        創造的な学び
  必死に「覚える」学びから
  「つくる」・「実践する」
  中での学びへ
設計の学びの鉄則




     考えて
    コードを書く

More Related Content

What's hot

テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
増田 亨
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
Koichiro Matsuoka
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
Takuto Wada
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
shinjiigarashi
 
Tackling Complexity
Tackling ComplexityTackling Complexity
Tackling Complexity
Yoshitaka Kawashima
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろうKota Mizushima
 

What's hot (20)

テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
ドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装までドメイン駆動で開発する ラフスケッチから実装まで
ドメイン駆動で開発する ラフスケッチから実装まで
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみようドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
 
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くかDDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
 
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
Tackling Complexity
Tackling ComplexityTackling Complexity
Tackling Complexity
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 

Viewers also liked

Laravelではじめる Webアプリケーション開発
Laravelではじめる Webアプリケーション開発Laravelではじめる Webアプリケーション開発
Laravelではじめる Webアプリケーション開発
Yuxio tech
 
新卒2年目から始めるチームリーダー
新卒2年目から始めるチームリーダー新卒2年目から始めるチームリーダー
新卒2年目から始めるチームリーダー
Yuxio tech
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
 
設計してますか?
設計してますか?設計してますか?
設計してますか?
ke-m kamekoopa
 
C#アプリの作り方入門
C#アプリの作り方入門C#アプリの作り方入門
C#アプリの作り方入門
森理 麟
 
Cしゃーぷができるまで
CしゃーぷができるまでCしゃーぷができるまで
Cしゃーぷができるまで信之 岩永
 
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしいke-m kamekoopa
 
コードレビューのススメ
コードレビューのススメコードレビューのススメ
コードレビューのススメ
kawahira kazuto
 
第2回 モデリング勉強会
第2回 モデリング勉強会第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
 
F流 『オブジェクト指向の考え方の基礎の基礎』 ~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流 『オブジェクト指向の考え方の基礎の基礎』 ~ソフトウェア開発の原則編~
Fujio Kojima
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)VOYAGE GROUP
 
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」Hokuto Tateyama
 
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
 
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
 
第1回 モデリング勉強会
第1回 モデリング勉強会第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
 
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門Ryo Miyake
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
 
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
 

Viewers also liked (20)

Laravelではじめる Webアプリケーション開発
Laravelではじめる Webアプリケーション開発Laravelではじめる Webアプリケーション開発
Laravelではじめる Webアプリケーション開発
 
新卒2年目から始めるチームリーダー
新卒2年目から始めるチームリーダー新卒2年目から始めるチームリーダー
新卒2年目から始めるチームリーダー
 
クロージャデザインパターン
クロージャデザインパターンクロージャデザインパターン
クロージャデザインパターン
 
設計してますか?
設計してますか?設計してますか?
設計してますか?
 
C#アプリの作り方入門
C#アプリの作り方入門C#アプリの作り方入門
C#アプリの作り方入門
 
Cしゃーぷができるまで
CしゃーぷができるまでCしゃーぷができるまで
Cしゃーぷができるまで
 
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
 
コードレビューのススメ
コードレビューのススメコードレビューのススメ
コードレビューのススメ
 
第2回 モデリング勉強会
第2回 モデリング勉強会第2回 モデリング勉強会
第2回 モデリング勉強会
 
F流 『オブジェクト指向の考え方の基礎の基礎』 ~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流 『オブジェクト指向の考え方の基礎の基礎』 ~ソフトウェア開発の原則編~
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
 
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
 
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
 
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
 
第1回 モデリング勉強会
第1回 モデリング勉強会第1回 モデリング勉強会
第1回 モデリング勉強会
 
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
 
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
 

Similar to オブジェクト指向の設計と実装の学び方のコツ

ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
増田 亨
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
GuildWorks
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
増田 亨
 
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
Shoichi Matsuda
 
プログラミング勉強会 その0
プログラミング勉強会 その0プログラミング勉強会 その0
プログラミング勉強会 その0Hirokazu Fukami
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)Masayuki Kanou
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
 
130308 jsish・活動計画
130308 jsish・活動計画130308 jsish・活動計画
130308 jsish・活動計画Ikegami Keiichi
 
エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動Hiroshi Ogino
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
nishikawa_makoto7
 
プログラミング技法特論第1回
プログラミング技法特論第1回プログラミング技法特論第1回
プログラミング技法特論第1回Noritada Shimizu
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
You&I
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
Katsuhiro Morishita
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
増田 亨
 
Webの勉強会#9
Webの勉強会#9Webの勉強会#9
Webの勉強会#9
MarlboroLand
 
Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Rubyを使ったオブジェクト指向デザイン実践:第一章発表Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Yuta Okazaki
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
オブジェクト指向っぽい話
オブジェクト指向っぽい話オブジェクト指向っぽい話
オブジェクト指向っぽい話
Tomohiro Shinden
 
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目schoowebcampus
 
Process Framework「CYCLONE for Mobile Apps」(20120118)
Process Framework「CYCLONE for Mobile Apps」(20120118)Process Framework「CYCLONE for Mobile Apps」(20120118)
Process Framework「CYCLONE for Mobile Apps」(20120118)
masashi takehara
 

Similar to オブジェクト指向の設計と実装の学び方のコツ (20)

ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てるちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス実践に向けたドメイン駆動設計のエッセンス
実践に向けたドメイン駆動設計のエッセンス
 
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
 
プログラミング勉強会 その0
プログラミング勉強会 その0プログラミング勉強会 その0
プログラミング勉強会 その0
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェースモジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
 
130308 jsish・活動計画
130308 jsish・活動計画130308 jsish・活動計画
130308 jsish・活動計画
 
エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動エンジニアがとるべき8つの行動
エンジニアがとるべき8つの行動
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
プログラミング技法特論第1回
プログラミング技法特論第1回プログラミング技法特論第1回
プログラミング技法特論第1回
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
 
現場で役立つシステム設計の原則
現場で役立つシステム設計の原則現場で役立つシステム設計の原則
現場で役立つシステム設計の原則
 
Webの勉強会#9
Webの勉強会#9Webの勉強会#9
Webの勉強会#9
 
Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Rubyを使ったオブジェクト指向デザイン実践:第一章発表Rubyを使ったオブジェクト指向デザイン実践:第一章発表
Rubyを使ったオブジェクト指向デザイン実践:第一章発表
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
オブジェクト指向っぽい話
オブジェクト指向っぽい話オブジェクト指向っぽい話
オブジェクト指向っぽい話
 
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
【Schoo web campus】「相手に伝わる」文章を書く技術 2限目
 
Process Framework「CYCLONE for Mobile Apps」(20120118)
Process Framework「CYCLONE for Mobile Apps」(20120118)Process Framework「CYCLONE for Mobile Apps」(20120118)
Process Framework「CYCLONE for Mobile Apps」(20120118)
 

More from 増田 亨

正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
増田 亨
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
増田 亨
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
増田 亨
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
増田 亨
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
増田 亨
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
増田 亨
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
増田 亨
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
増田 亨
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
増田 亨
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
増田 亨
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
増田 亨
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
増田 亨
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
増田 亨
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
増田 亨
 

More from 増田 亨 (20)

正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
 
事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述事業活動モデル・システム機能モデル・ビジネスロジックの記述
事業活動モデル・システム機能モデル・ビジネスロジックの記述
 
ドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドラインドメインオブジェクトの設計ガイドライン
ドメインオブジェクトの設計ガイドライン
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来オブジェクト指向プログラミングの現在・過去・未来
オブジェクト指向プログラミングの現在・過去・未来
 
ドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみようドメイン駆動設計 コアドメインを語り合ってみよう
ドメイン駆動設計 コアドメインを語り合ってみよう
 
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primerオブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
 
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイルドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考えるソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
 
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチレガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
レガシーコードの複雑さに立ち向かう~ドメイン駆動設計のアプローチ
 
ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方ドメイン駆動設計の正しい歩き方
ドメイン駆動設計の正しい歩き方
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かうビジネスルールの複雑さに立ち向かう
ビジネスルールの複雑さに立ち向かう
 
ソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かうソフトウェアの核心にある複雑さに立ち向かう
ソフトウェアの核心にある複雑さに立ち向かう
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指してアジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
 
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
 
ドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かすドメイン駆動設計をゲーム開発に活かす
ドメイン駆動設計をゲーム開発に活かす
 

Recently uploaded

Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
Hideo Kashioka
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Hirotaka Kawata
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 

Recently uploaded (13)

Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 

オブジェクト指向の設計と実装の学び方のコツ