Enviar búsqueda
Cargar
Phpではじめるオブジェクト指向(公開用)
•
48 recomendaciones
•
6,819 vistas
VOYAGE GROUP
Seguir
Empresariales
Denunciar
Compartir
Denunciar
Compartir
1 de 86
Descargar ahora
Descargar para leer sin conexión
Recomendados
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
sumim
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
アシアル株式会社
設計してますか?
設計してますか?
ke-m kamekoopa
オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
Shoichi Matsuda
Recomendados
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
sumim
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
【アシアル塾】PHPオブジェクト指向再入門・第四回デザインパターンに学ぶクラス設計
アシアル株式会社
設計してますか?
設計してますか?
ke-m kamekoopa
オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
Shoichi Matsuda
オブジェクト指向最強
オブジェクト指向最強
haganemetal
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
アシアル株式会社
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
アシアル株式会社
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
hakoika-itwg
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
増田 亨
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
Más contenido relacionado
La actualidad más candente
オブジェクト指向最強
オブジェクト指向最強
haganemetal
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
アシアル株式会社
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
アシアル株式会社
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
hakoika-itwg
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
増田 亨
La actualidad más candente
(20)
オブジェクト指向最強
オブジェクト指向最強
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
オブジェクト指向設計の原則
オブジェクト指向設計の原則
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
【アシアル塾】PHPオブジェクト指向再入門・第二回クラスの継承と委譲
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
【アシアル塾】PHPオブジェクト指向再入門・第三回Exceptionクラスによる例外処理
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
ドメイン駆動設計 本格入門
ドメイン駆動設計 本格入門
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
ドメイン駆動設計の基礎知識:設計のスタイル、開発のスタイル
Destacado
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
Ryo Miyake
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
Destacado
(12)
第2回 モデリング勉強会
第2回 モデリング勉強会
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
Similar a Phpではじめるオブジェクト指向(公開用)
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
Takuya Kawabe
Flutterを体験してみませんか
Flutterを体験してみませんか
cch-robo
ディレクターのキャリア・パス ~職能マップになぞらえて~
ディレクターのキャリア・パス ~職能マップになぞらえて~
Renji Yoneda
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Atsushi Kambara
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
AndroidでDIxAOP
AndroidでDIxAOP
nfc research
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
Toshihiro Nakamura
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
[ESM_CM セミナー]小さく作って大いに役立つスマートフォンアプリ(CYCLONE)公開用
[ESM_CM セミナー]小さく作って大いに役立つスマートフォンアプリ(CYCLONE)公開用
masashi takehara
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
Koichiro Matsuoka
Material DesignをPolymerで表現しよう(神戸ITフェスティバル × HTML5fun@神戸)
Material DesignをPolymerで表現しよう(神戸ITフェスティバル × HTML5fun@神戸)
Masayuki Abe
名前重要 超重要
名前重要 超重要
baban ba-n
.NETの自作ツール公開手段
.NETの自作ツール公開手段
Pierre3 小林
デザインパターン(初歩的な7パターン)
デザインパターン(初歩的な7パターン)
和明 斎藤
Djangoフレームワークの紹介
Djangoフレームワークの紹介
Shinya Okano
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
ウェブから情報をあつめる
ウェブから情報をあつめる
Shuhei Iitsuka
Similar a Phpではじめるオブジェクト指向(公開用)
(20)
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
C#実装から見るDDD(ドメイン駆動設計)
C#実装から見るDDD(ドメイン駆動設計)
Flutterを体験してみませんか
Flutterを体験してみませんか
ディレクターのキャリア・パス ~職能マップになぞらえて~
ディレクターのキャリア・パス ~職能マップになぞらえて~
Application Architecture for Enterprise Win Store Apps with DDD Pattern
Application Architecture for Enterprise Win Store Apps with DDD Pattern
IDEALIZE YOU
IDEALIZE YOU
AndroidでDIxAOP
AndroidでDIxAOP
次世代DaoフレームワークDoma
次世代DaoフレームワークDoma
TypeScript と Visual Studio Code
TypeScript と Visual Studio Code
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
[ESM_CM セミナー]小さく作って大いに役立つスマートフォンアプリ(CYCLONE)公開用
[ESM_CM セミナー]小さく作って大いに役立つスマートフォンアプリ(CYCLONE)公開用
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
境界付けられたコンテキスト 概念編 (ドメイン駆動設計用語解説シリーズ)
Material DesignをPolymerで表現しよう(神戸ITフェスティバル × HTML5fun@神戸)
Material DesignをPolymerで表現しよう(神戸ITフェスティバル × HTML5fun@神戸)
名前重要 超重要
名前重要 超重要
.NETの自作ツール公開手段
.NETの自作ツール公開手段
デザインパターン(初歩的な7パターン)
デザインパターン(初歩的な7パターン)
Djangoフレームワークの紹介
Djangoフレームワークの紹介
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
ウェブから情報をあつめる
ウェブから情報をあつめる
Más de VOYAGE GROUP
AWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguro
VOYAGE GROUP
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
VOYAGE GROUP
JavaScriptトレンド総括(2014)
JavaScriptトレンド総括(2014)
VOYAGE GROUP
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
VOYAGE GROUP
Flux react現状確認会
Flux react現状確認会
VOYAGE GROUP
[20140625]wwdc2014 feedback
[20140625]wwdc2014 feedback
VOYAGE GROUP
Google playでのリワードアプリリジェクトからの今後のマネタイズ手段について インタースティシャル広告×クロスプロモーション-
Google playでのリワードアプリリジェクトからの今後のマネタイズ手段について インタースティシャル広告×クロスプロモーション-
VOYAGE GROUP
事業内デザイナーのミッション(公開版) genesix 藤井幹大
事業内デザイナーのミッション(公開版) genesix 藤井幹大
VOYAGE GROUP
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
VOYAGE GROUP
セミナープレゼン資料【Adingo】 20130529
セミナープレゼン資料【Adingo】 20130529
VOYAGE GROUP
セミナープレゼン資料【Adingo】 20130530
セミナープレゼン資料【Adingo】 20130530
VOYAGE GROUP
Abテストノススメ
Abテストノススメ
VOYAGE GROUP
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
VOYAGE GROUP
【発表用】Lpoワークショップ~組織でサイト改善をする方法~
【発表用】Lpoワークショップ~組織でサイト改善をする方法~
VOYAGE GROUP
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
VOYAGE GROUP
Androidにおけるテストに関して〜デバイスをどう選択するか〜
Androidにおけるテストに関して〜デバイスをどう選択するか〜
VOYAGE GROUP
スマホ無料アプリのマネタイズについて【Adingo】
スマホ無料アプリのマネタイズについて【Adingo】
VOYAGE GROUP
最新のマーケットアルゴリズムと、 アルゴリズムを踏まえてのプロモーション
最新のマーケットアルゴリズムと、 アルゴリズムを踏まえてのプロモーション
VOYAGE GROUP
【発表用】ウェブアナリスト養成講座「Lpoとabテスト」
【発表用】ウェブアナリスト養成講座「Lpoとabテスト」
VOYAGE GROUP
ゴールから始めよう!
ゴールから始めよう!
VOYAGE GROUP
Más de VOYAGE GROUP
(20)
AWS SDK for Go in #jawsmeguro
AWS SDK for Go in #jawsmeguro
Data Engineering at VOYAGE GROUP #jawsdays
Data Engineering at VOYAGE GROUP #jawsdays
JavaScriptトレンド総括(2014)
JavaScriptトレンド総括(2014)
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
Flux react現状確認会
Flux react現状確認会
[20140625]wwdc2014 feedback
[20140625]wwdc2014 feedback
Google playでのリワードアプリリジェクトからの今後のマネタイズ手段について インタースティシャル広告×クロスプロモーション-
Google playでのリワードアプリリジェクトからの今後のマネタイズ手段について インタースティシャル広告×クロスプロモーション-
事業内デザイナーのミッション(公開版) genesix 藤井幹大
事業内デザイナーのミッション(公開版) genesix 藤井幹大
[20130624]最近の開発環境について話してみる sakata
[20130624]最近の開発環境について話してみる sakata
セミナープレゼン資料【Adingo】 20130529
セミナープレゼン資料【Adingo】 20130529
セミナープレゼン資料【Adingo】 20130530
セミナープレゼン資料【Adingo】 20130530
Abテストノススメ
Abテストノススメ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
iPhoneアプリ「トリセツ」にて実践したリーンスタートアップ
【発表用】Lpoワークショップ~組織でサイト改善をする方法~
【発表用】Lpoワークショップ~組織でサイト改善をする方法~
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Androidにおけるテストに関して〜デバイスをどう選択するか〜
Androidにおけるテストに関して〜デバイスをどう選択するか〜
スマホ無料アプリのマネタイズについて【Adingo】
スマホ無料アプリのマネタイズについて【Adingo】
最新のマーケットアルゴリズムと、 アルゴリズムを踏まえてのプロモーション
最新のマーケットアルゴリズムと、 アルゴリズムを踏まえてのプロモーション
【発表用】ウェブアナリスト養成講座「Lpoとabテスト」
【発表用】ウェブアナリスト養成講座「Lpoとabテスト」
ゴールから始めよう!
ゴールから始めよう!
Último
20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf
ssuser80a51f
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ 株式会社
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
Yasuyoshi Minehisa
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
KayaSuetake1
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
ユニパー株式会社
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
masakisaito12
Último
(6)
20240427 zaim academy counseling lesson .pdf
20240427 zaim academy counseling lesson .pdf
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
Phpではじめるオブジェクト指向(公開用)
1.
PHPではじめる オブジェクト指向 VOYAGE
GROUP 田中 康一
2.
自己紹介 田中康一 株式会社 VOYAGE GROUP
子会社のFlesselで ケータイサイト開発・運用 PHP歴11年 Twitter: @mugeso
3.
アジェンダ 自己紹介 アジェンダ オブジェクト指向とは PHPでのオブジェクト指向 オブジェクト指向の原則・法則・格言
4.
オブジェクト指向とは
5.
オブジェクト データを持っている 振る舞いを持っている
6.
メッセージをやり取りする オブジェクト
オブジェクト メッセージ メッセージ オブジェクト
7.
Web開発現場だと
開発依頼 ディレクター PM デザイン依頼 実装依頼 デザイナ プログラマ
8.
PHPでのオブジェクト指向
9.
クラス
10.
例えば
社員 クラス 山田さん 鈴木さん 佐藤さん インスタンス
11.
コード例 class Employee {
private $_name; public function __construct($name) { $this->_name = $name; } public function getName() { return $this->_name; } } $yamada = new Employee(‘山田’);
12.
継承
13.
例えば
社員 継承元(親クラス) ディレクター エンジニア デザイナ 派生(子クラス)
14.
コード例 class Designer extends
Employee { public function design() { // デザイン処理の実装 } } $designer = new Designer(‘山田’); $designer->getName(); // Employeeで定義 $designer->design(); // Designerで定義
15.
インターフェイス
16.
例えば
デザイン依頼 ディレクター デザイナ この関係を ディレクターが求めている事に 注目してみると
17.
例えば
デザイン依頼 ディレクター デザインできる このように置き換える事ができます。 この「デザインできる」が インターフェイスです。
18.
例えば
デザインできる デザイナ デザイン会社 実装としてデザイナや デザイン会社があります。
19.
例えば
デザイン依頼 ディレクター デザイン会社 ディレクターは「デザインできる」という インターフェイスに基づき デザイン会社に依頼できます
20.
コード例 interface DesignerInterface {
public function design(); } class Designer extends Employee implements DesignerInterface // デザイナインターフェイスを実装 { public function design() { // デザイン処理の実装 } }
21.
コード例 // interface DesignerInterface //
{ // public function design(); // } class DesignerCompany extends Company // 継承元は会社クラス implements DesignerInterface // デザイナインターフェイスを実装 { public function design() { // デザイン処理の実装 } }
22.
その他機能 多重継承 インターフェイス同士の継承 定数定義
23.
トレイト
24.
例えば…… 現実世界で例えるのは少し難しい
25.
例えば! 映画マトリックスでヘリコプターの操縦 方法をインストールしたような感じ。
26.
例えば エンジニア
デザイナ エンジニアとデザイナの 技術を抜き出して
27.
例えば エンジニア
デザイナ プログラミング 技術 エンジニアとデザイナの 技術を抜き出して
28.
例えば エンジニア
デザイナ プログラミング デザイン 技術 技術 エンジニアとデザイナの 技術を抜き出して
29.
例えば
ハイパー クリエーター プログラミング法 デザイン法 再利用ができます。
30.
例えば
フリーランス ハイパー クリエーター 継承元が違ってもOK!
31.
コード例
(トレイト定義) trait CodingTrait { public function coding($design, $repository) { // 実装 } }
32.
コード例
(トレイトの利用) class Engineer extends Employee { use CodingTrait; } $engineer = new Engineer(‘加藤’); $engineer->coding($design, $repository);
33.
コード例
(トレイト定義) trait DesignTrait { public function design($info, $repository) { // 実装 } }
34.
コード例
(トレイトの利用) class HyperCreator { use CodingTrait, DesignTrait; } $creator = new HyperCreator(‘北村’); $creator->coding($design, $repository); $creator->design($info, $repository);
35.
もしここで trait CodingTrait {
public function coding($design, $repository) {/* 略 */} public function design($info, $repository) {/* 略 */} } trait DesignTrait { public function design($info, $repository) {/* 略 */} }
36.
もしここで trait CodingTrait {
public function coding($design, $repository) {/* 略 */} public function design($info, $repository) {/* 略 */} } trait DesignTrait { public function design($info, $repository) {/* 略 */} } メソッド名が被っていたら
37.
別名をつける class HyperCreator {
use CodingTrait, DesignTrait { CodingTrait::design insteadof designCode; DesignTrait::design insteadof designUi; } } $creator = new HyperCreator(‘北村’); $creator->coding($design, $repository); $creator->designCode($info, $repository); $creator->designUi($info, $repository);
38.
その他機能 メソッドの可視性の変更 トレイトを組み合わせたトレイト トレイトのメンバーの抽象化 静的なメンバー プロパティ
39.
名前空間
40.
例えば 人事部
開発部 部長 部長 同じ部長でも仕事が違う 区別したい
41.
コード例 <?php //fileA.php namespace Personnel; class
Boss{} <?php //fileB.php namespace DevelopDepartment; class Boss{}
42.
コード例 <?php // fileC.php use
DevelopmentDepart; $hoge = new Boss(); // これは開発部部長 <?php // fileD.php use Personnel; $hoge = new Boss(); // これは人事部部長 $foo = new DevelopmentDepart¥Boss();
43.
原則・法則・格言
44.
注意 設計・コーディングの際に意識しましょう 必ず守らなければイケナイわけではありま せん 理由があればこれらを破るのもアリです
45.
デメテルの法則
46.
ディレクター
ディレクター デザイン会社 デザイン会社 デザイナ デザイナ 契約関係 指示の流れ
47.
デザイン会社で 人事異動発生!!
48.
担当デザイナが交代
49.
ディレクター
ディレクター デザイン会社 デザイン会社 デザイナ デザイナ どっちが楽ですか?
50.
コーディングでは メソッドに渡されたオブジェクトと メンバオブジェクトのみに メッセージを送る 1行に->は1つまで
51.
単一責任の原則 (SRP)
52.
「クラスを変更する理由は 1つ以上存在してはならない」
53.
社員 じつはこいつは大きすぎる
54.
考えられる変更理由 社員番号を持たせたい 給与を振り込めるようにしたい 人事評価をできるようにしたい 人事評価の方法を変更したい
55.
社員
給与 人事評価 変更理由を考えると このように分割できる
56.
リスコフの置換原則
(LSP)
57.
「派生型はその基本型と 置換可能でなければならない」
58.
登場人物
社員 人事 プログラマ 西野さん 北野さん
59.
西野さん
北野さん
60.
西野さん
北野さん 人事評価なんだけど
61.
西野さん
北野さん 人事評価なんだけど え?何のことです?
62.
西野さん
北野さん 人事評価なんだけど え?何のことです? 社員なら分かれよ・・・
63.
西野さん
北野さん 人事評価なんだけど え?何のことです? 社員なら分かれよ・・・ 社員ができる事は プログラマもできるべき!
64.
具体的には 基本クラスのメソッドを使えなくする 派生クラスから例外をなげる
これはNG!!!
65.
開放閉鎖の原則
66.
ソフトウェアの構成要素は、
拡張に対して開いていて、 修正に対して閉じていなければならない。
67.
うまく出来ている例 ブラウザのプラグイン 外付けハードディスク (パソコンのネジをあけなくても使える)
68.
依存関係逆転 の原則
69.
「上位のモジュールは下位のモジュールに依 存してはならない。どちらのモジュールも 『抽象』に依存すべきである。」 「『抽象』は実装の詳細に依存してはならな い。実装の詳細が『抽象』に依存すべきであ る。」
70.
事業責任者 ディレクター
そのものに依存 デザイナ
71.
ディレクション 事業責任者
できる デザインできる ディレクター デザイナ 求める能力にだけ依存
72.
インターフェイス分離
の原則
73.
「クライアントに、クライアント が利用しないメソッドへの依存を 強制してはならない。」
74.
例えば 個人
契約できる *個人契約する *法人契約する 株式会社 個人は法人契約は 知らなくていい
75.
例えば 個人
個人契約できる 株式会社 法人契約できる インターフェイスを分離する
76.
Tell,Don’t Ask.
77.
例えば(ask) ディレクタ
デザイナ
78.
例えば(ask) ディレクタ
デザイナ 背景は何色?
79.
例えば(ask) ディレクタ
デザイナ 背景は何色? #348fddです
80.
例えば(ask) ディレクタ
デザイナ 背景は何色? #348fddです ここは何px?
81.
例えば(tell) ディレクタ
デザイナ
82.
例えば(tell) ディレクタ
デザイナ このコンセプトで デザインよろしく。 終わったら送って。
83.
例えば(tell) ディレクタ
デザイナ このコンセプトで デザインよろしく。 終わったら送って。 できました。 こちらです。
84.
後者の方が 役割分担ができている。
85.
コーディングでは getter,setterは極力使わない getter =
getHoge setter = setHoge
86.
参考文献 http://php.net/manual/ http://www.objectmentor.com/resources/ articles/Principles_and_Patterns.pdf http://objectclub.jp/community/memorial/ homepage3.nifty.com/masarl/article/oo- principles.html http://wiki.shos.info/index.php?%A1%DA %A5%AA%A5%D6%A5%B8%A5%A7%A5%AF%A5%C8%BB %D8%B8%FE%A1%DB%A5%AA
Descargar ahora