Submit Search
Upload
本当のオブジェクト指向は可読性を上げる
•
Download as PPTX, PDF
•
33 likes
•
13,815 views
Wataru Terada
Follow
2014/7/28 PHP勉強会用の資料。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 22
Download now
Recommended
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
Shigenori Sagawa
クロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
DDD sample code explained in Java
DDD sample code explained in Java
増田 亨
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
Recommended
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
Shigenori Sagawa
クロージャデザインパターン
クロージャデザインパターン
Moriharu Ohzu
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
DDD sample code explained in Java
DDD sample code explained in Java
増田 亨
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
増田 亨
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
日本語テストメソッドについて
日本語テストメソッドについて
kumake
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
LLVM最適化のこつ
LLVM最適化のこつ
MITSUNARI Shigeo
こわくない Git
こわくない Git
Kota Saito
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
More Related Content
What's hot
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
日本語テストメソッドについて
日本語テストメソッドについて
kumake
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
Hideyuki Tanaka
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
増田 亨
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
Kazuyuki TAKASE
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
Koichiro Matsuoka
LLVM最適化のこつ
LLVM最適化のこつ
MITSUNARI Shigeo
こわくない Git
こわくない Git
Kota Saito
What's hot
(20)
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
日本語テストメソッドについて
日本語テストメソッドについて
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
中3女子でもわかる constexpr
中3女子でもわかる constexpr
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
ドメイン駆動設計 モデリング_実装入門勉強会_2020.3.8
LLVM最適化のこつ
LLVM最適化のこつ
こわくない Git
こわくない Git
Viewers also liked
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
Ryo Miyake
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
hakoika-itwg
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
Viewers also liked
(17)
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
第1回 モデリング勉強会
第1回 モデリング勉強会
第2回 モデリング勉強会
第2回 モデリング勉強会
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
More from Wataru Terada
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
Wataru Terada
PHP選んで良かったこと
PHP選んで良かったこと
Wataru Terada
僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること
Wataru Terada
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら
Wataru Terada
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
Wataru Terada
PHP基本的関数QUIZ
PHP基本的関数QUIZ
Wataru Terada
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
Wataru Terada
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
Wataru Terada
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
Wataru Terada
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと
Wataru Terada
単体テストで工数を短縮する
単体テストで工数を短縮する
Wataru Terada
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
Wataru Terada
CakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrant
Wataru Terada
More from Wataru Terada
(13)
Chrome拡張で改善 表紙
Chrome拡張で改善 表紙
PHP選んで良かったこと
PHP選んで良かったこと
僕がエンジニアとしていつも考えていること
僕がエンジニアとしていつも考えていること
技術ドキュメントで難しい英文に出会ったら
技術ドキュメントで難しい英文に出会ったら
PSR-1 と PSR-2 を5分でざっくり理解する
PSR-1 と PSR-2 を5分でざっくり理解する
PHP基本的関数QUIZ
PHP基本的関数QUIZ
CakePHP を使ってよかったこと
CakePHP を使ってよかったこと
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
知ってるようで意外と知らないPHPの便利関数
知ってるようで意外と知らないPHPの便利関数
初めてのTravisCIでハマったこと
初めてのTravisCIでハマったこと
単体テストで工数を短縮する
単体テストで工数を短縮する
デグレを防ぐテストの書き方
デグレを防ぐテストの書き方
CakePHP の Cookbook に翻訳貢献する方法と vagrant
CakePHP の Cookbook に翻訳貢献する方法と vagrant
Recently uploaded
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
Recently uploaded
(10)
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
本当のオブジェクト指向は可読性を上げる
1.
2014-07-28 GMOリサーチ 寺田
渉 Facebook: 寺田渉 Twitter: @wa_terada
2.
オブジェクト指向 って何なのか。 =
オブジェクト指向の 読みやすさ に 気づいてもらう。
3.
ボードゲーム翻訳 CakePHP Cookbook翻訳 TED 字幕
翻訳 開発 (PHP/JavaScript/Java/Perl)
4.
抽象化
5.
抽象化 によって 可読性 を上げます
6.
処理と変数を取りまとめる存在 (オブジェクト)を作り、 その存在に【的確な命名】を 行うこと。
7.
処理は数百行あっても、 的確な名前を付けることで、 毎回中身を見なくてもよくする。 これが抽象化。
8.
毎回中身(具象化先)を 見なければならないようなら、 抽象化としては失敗。
9.
オブジェクト指向の 鍵
10.
それなら 関数切り出し でいいんじゃない?
11.
そうです。 関数切り出しも抽象化の手法。
12.
「関数」だけでなく、 その外側にある「状態」も あわせて取りまとめる存在を作り、 抽象化して 可読性をあげようとする。
13.
【構造化プログラミング】 処理を (サブルーチン or 関数して)とりまとめて 抽象化
(=的確な命名) ↓ 可読性を上げる
14.
【オブジェクト指向】 変数 とそれに 関連する処理
を (クラスとして) とりまとめて 抽象化 (=的確な命名) ↓ 可読性を上げる
15.
何度もメソッドの中を 見なければいけない事態が 生じているのなら、 オブジェクト指向としては負け。
16.
MVC (フレームワーク) で 開発してると 何度もクラスの中を見るけど オブジェクト指向
じゃないの?
17.
オブジェクト指向では ありません!
18.
- 基盤の開発を共有 - 開発スタイルをルール化 することで、開発者によるブレをなくし、 開発効率を上げて安定化させるためにある。 開発者の設計力が十分でなくても 開発可能にするという側面もある。
19.
MVCを使って開発する場合、 可読性や抽象化を意識して オブジェクト設計しないので、 (それ自体はオブジェクト指向で作られていても) それを使っての開発は オブジェクト指向というよりもむしろ フレームワーク指向と呼ぶべきでしょう。
20.
オブジェクトに抽象化することで 可読性が上がると思ったら オブジェクト化する → オブジェクト指向
21.
ぜひ Facebook 等で 寺田渉
まで ご連絡ください!!
22.
以上、ありがとうございました。
Download now