SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
オブジェクト指向っぽい話
2013/09/18 shinden tomohiro
今日の話
オブジェクト指向
プログラミング
オブジェクト指向
カプセル化
オブジェクト指向
継承
オブジェクト指向
ポリモーフィズム
(多態性)
これらを実現するための道具
クラス
(Class)
本
オブジェクト指向
ってついてる本なら
大体書いてある
どう書くか
契約的プログラミング
どう書くか
防衛的プログラミング
原則っぽいのがある
ソフトウエアの原則
原則
単一責任の原則
(SRP)
原則
オープン・クローズドの原則
(OCP)
原則
リスコフの置換原則
(LSP)
原則
依存関係逆転の原則
(DIP)
原則
インターフェイス分離の原則
(ISP)
原則
疎結合
凝集度
根底
クラスとクラスの関係をシンプルに
複雑に関係を多くすると解決も難しくなる
大きくしすぎても解決は難しくなる
あるある
そして
デザインパターン
あるある
一杯あるので
今回は省略
TemplateMethod
Factory
Facade
Observer
Strategy
Meditor
Singleton
Monostate
Adapter
Proxy
Vistor
State
本
あるある
さらに具体化すると
フレームワークとか
あるある
さらに一杯あるので
省略
クラスのポイント
抽象化と具象化
あるある
ソフトウエアを作るときに
考えたいこと
時間
開発期間~リリース
リリース~システムの停止
時間
開発期間~リリース
リリース~システムの停止
↑こっちのほうが大体の場合長い
相手の言う正しさとは何か
コーディングとしての正しさ
機能としての正しさ
ビジネスとしての正しさ
本質の力
感じる力、考える力は鍛えておけば
プログラミング以外でも
使える本質的な力に転換できるはず
求められているものとは
言われたものを作るではない
将来を見越して求められたものを作る
それが本当のプログラミング
本物を目指してみない?
プログラミングは考えると言う事の連続で
クリエイティブな作業
ソースコード上で常に他の開発者と
コラボレーションするチーム作業
ソースコードで語りあう
開発者のコミュニケーションツール
本物を目指してみない?
本当のプログラマなら
コードで語れ!
ありがとうございました
ご清聴ありがとうございました

Contenu connexe

En vedette

セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
Tsukasa Oi
 
北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で
yaju88
 

En vedette (15)

Donuts プロコンチャレンジ2014
Donuts プロコンチャレンジ2014Donuts プロコンチャレンジ2014
Donuts プロコンチャレンジ2014
 
Umlモデリングの勘所
Umlモデリングの勘所Umlモデリングの勘所
Umlモデリングの勘所
 
Jackson beyond JSON: XML, CSV
Jackson beyond JSON: XML, CSVJackson beyond JSON: XML, CSV
Jackson beyond JSON: XML, CSV
 
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
セキュアVMの構築 (IntelとAMDの比較、あともうひとつ...) - AVTokyo 2009
 
スキマトークご利用ガイド
スキマトークご利用ガイドスキマトークご利用ガイド
スキマトークご利用ガイド
 
Uml速習会
Uml速習会Uml速習会
Uml速習会
 
Officeで使うPerl Excel編
Officeで使うPerl Excel編Officeで使うPerl Excel編
Officeで使うPerl Excel編
 
Perl 6 Object-Oliented Programming
Perl 6 Object-Oliented ProgrammingPerl 6 Object-Oliented Programming
Perl 6 Object-Oliented Programming
 
北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で
 
エクストリームエンジニア5
エクストリームエンジニア5エクストリームエンジニア5
エクストリームエンジニア5
 
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
 
Astah Community スタートガイド
Astah Community スタートガイドAstah Community スタートガイド
Astah Community スタートガイド
 
ドコモの取り組みを事例としたクラウドとAi
ドコモの取り組みを事例としたクラウドとAi ドコモの取り組みを事例としたクラウドとAi
ドコモの取り組みを事例としたクラウドとAi
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
 

Similaire à オブジェクト指向っぽい話

オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合う
Yuya Unno
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
Takuya Akiba
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
Masayuki Kanou
 

Similaire à オブジェクト指向っぽい話 (20)

オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
 
深層生成モデルと世界モデル, 深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
深層生成モデルと世界モデル, 深層生成モデルライブラリPixyzについて
 
Deep learning勉強会20121214ochi
Deep learning勉強会20121214ochiDeep learning勉強会20121214ochi
Deep learning勉強会20121214ochi
 
言語資源と付き合う
言語資源と付き合う言語資源と付き合う
言語資源と付き合う
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
Creating and Using Links between Data Objects
Creating and Using Links between Data ObjectsCreating and Using Links between Data Objects
Creating and Using Links between Data Objects
 
RM-ODP 概要
RM-ODP 概要RM-ODP 概要
RM-ODP 概要
 
Pattern mining-scrum gatheringtokyo20130115
Pattern mining-scrum gatheringtokyo20130115Pattern mining-scrum gatheringtokyo20130115
Pattern mining-scrum gatheringtokyo20130115
 
LOD連続講義 第5回「LODの作り方・使い方」
LOD連続講義 第5回「LODの作り方・使い方」LOD連続講義 第5回「LODの作り方・使い方」
LOD連続講義 第5回「LODの作り方・使い方」
 
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
Natural Language Processing (Almost) from Scratch(第 6 回 Deep Learning 勉強会資料; 榊)
 
20190324 第6章 テキストデータのための素性
20190324 第6章 テキストデータのための素性20190324 第6章 テキストデータのための素性
20190324 第6章 テキストデータのための素性
 
Query driven context aware recommendation
Query driven context aware recommendationQuery driven context aware recommendation
Query driven context aware recommendation
 
Interop2017
Interop2017Interop2017
Interop2017
 
大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム大規模ネットワークの性質と先端グラフアルゴリズム
大規模ネットワークの性質と先端グラフアルゴリズム
 
20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)20100324 勉強会資料(ドメイン駆動)
20100324 勉強会資料(ドメイン駆動)
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
オブジェクト指向とメモリ管理
オブジェクト指向とメモリ管理オブジェクト指向とメモリ管理
オブジェクト指向とメモリ管理
 
CVPR2019@ロングビーチ参加速報(後編 ~本会議~)
CVPR2019@ロングビーチ参加速報(後編 ~本会議~)CVPR2019@ロングビーチ参加速報(後編 ~本会議~)
CVPR2019@ロングビーチ参加速報(後編 ~本会議~)
 
Realmについて
RealmについてRealmについて
Realmについて
 

Dernier

Dernier (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

オブジェクト指向っぽい話