Successfully reported this slideshow.
Your SlideShare is downloading. ×

オブジェクト指向設計

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 24 Ad

オブジェクト指向設計

Download to read offline

昔からあるものの、初期から誤解が多いままで、理解してない人には初期から利用できないままのオブジェクト指向。わかる人には昔からわかっているんですけどね。その理解を深めるため、最近の動向も含めてまとめてみました。

昔からあるものの、初期から誤解が多いままで、理解してない人には初期から利用できないままのオブジェクト指向。わかる人には昔からわかっているんですけどね。その理解を深めるため、最近の動向も含めてまとめてみました。

Advertisement
Advertisement

More Related Content

More from potimarimo (20)

Recently uploaded (20)

Advertisement

オブジェクト指向設計

  1. 1. オブジェクト指向設計 とか抽象データ型とかドメイン駆動設計とか
  2. 2. よい設計 今日の資料は作ってい て気合が入りました
  3. 3. よい設計はなぜ大切か
  4. 4. 目的 目的
  5. 5. よい設計はなぜ大切か プログラムはどんどん 複雑になっています よほど整理し ないとわけが 分からない
  6. 6. よい設計はなぜ大切か うまい 整理 よい 設計
  7. 7. 動くプログラム 動くかどうかはどうでもいい
  8. 8. 動くプログラム この仕様なら要件を満た せるとかどうでもいい
  9. 9. 動くプログラム この仕様なら要件を満た せるとかどうでもいい
  10. 10. 動くプログラム 完成したプログラムは最低でも動いてはいる 動いてからが勝負 そもそも動くだけなら1950年代の技術で十分
  11. 11. 動作 この仕様なら要件を満たせるとかどうでもいい そこから先が勝負 そうしないと、仕様を追加していくうちにどうせ動か くなりますからね
  12. 12. よい設計 よい設計 保守 拡張性
  13. 13. どれだけ整理すればよいのか?
  14. 14. どれだけ整理すればよいのか? 方向はわかった 距離は?
  15. 15. どれだけ整理すればよいのか? 文章や図を 使って最もわ かりやすく
  16. 16. シンプル ものごとはできるかぎりシンプルに すべきだ。しかし、シンプルすぎて もいけない。 • アルバート・アインシュタイン
  17. 17. プログラム分野では • 必要な要件を正しく表現し、できる限り少 ない要素の組み合わせて説明する • できるだけ少ない実装ではないことに注意 できるかぎり シンプルに • 要件の説明を省略するために正しさを端 折ってはいけない • 実装できてもだめ シンプルすぎ てもいけない。
  18. 18. 実装 表現はなるべく自然言語に近いレベルでわかりやすく この技術は日進月歩なので、最新のライブラリを参考に シンプルな説明に出てきた図、単語をそのままプログラムにする オブジェクト指向
  19. 19. 整理のための方法
  20. 20. 構造化
  21. 21. 結合度・凝集度 • よそのモジュールのことを知らない といけない度合い • 小さいほうが良い 結合度 • 同じモジュールでは統一された内容 を各度合 • 大きい方がよい 凝集度
  22. 22. オブジェクト指向 すべてはオブジェクト 構造化を簡単に実装 データと処理を関連付ける カプセル化 継承
  23. 23. ドメイン駆動設計 • 単にオブジェクト指向 じゃないですかね? • ビジネスロジックのため のデザインパターンが必 要 ドメイン駆動設計(英: domain- driven design, DDD)とはソフト ウェアの設計手法であり、「複雑な ドメインの設計は、モデルベースで 行うべき」であり、また「大半のソ フトウェアプロジェクトでは、シス テムを実装するための特定の技術で はなく、ドメインそのものとドメイ ンのロジックに焦点を置くべき」で あるとする。(Wikipedia)
  24. 24. DSL 複雑なライブラリは内部DSLとして実装すべき。 特定タスク向けの簡易言語 外部DSL 内部DSL

×