感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

PHPでデザインパターン

スポンサーリンク

ことば

昔から悟は、試験で良い点数が取れるのと、頭の良さは一致しない。ただ、まったく別物でもない」とよく言った。
「物事の本質をぱっとつかむのは本当に大事なことで、それは試験問題を解くのと似ているかもしれない。一方で、試験は苦手でも、頭がいい人間もたくさんいるけどな」
オー・ファーザー!

PHPでインポートする方法

use \ClassName;
use 名前空間;
use 名前空間 as 別名;
use 名前空間\クラス名;

「インターフェースに対してプログラミングする」

デザインパターンの起源、ルーツは、1987年のOOPSLA(Object-Oriented Programming, Systems,Languages & Applications)というオブジェクト指向に関するカンファレンスで、KentBeck氏とWard Cunningham氏が発表した「Using Pattern Langages for Object-Oriented Programs」という論文による。ここでパターンという考え方がソフトウェア界に持ち込まれた。

GoF本が出たのは1995年のこと。
Design Patterns: Elements of Reusable Object Oriented Software
という伝説の本が出版された。この本で後々20年以上に渡り語られる23パターンが紹介された。

カプセル化

オブジェクト指向では「操作対象」に注目し、操作手順や操作に伴うデータはオブジェクトの中に隠される。
つまり、インターフェースがわかっていれば、中の実装は知らなくてもいいということ。
テレビのスイッチを押せば画面が映るように。何をするかがわかれば、どうするかを知らなくてもいい。
これがカプセル化という。
また、データにアクセスできるノアは用意された操作だけである。

継承

他のクラスの特徴を引き継ぎ、新しい特徴を加えたり変更したりすることを継承という。
元になるクラスをスーパークラスとか、基底クラス、親クラスと呼ぶ。

ポリモーフィズム

ポリモーフィズムとは、あるオブジェクトへの操作が呼び出し側ではなく受け手のオブジェクトによって定まる特性のことをいう。

GoFの23パターン

■オブジェクトの生成に関するパターン
Abstract Factory
Builder
Factory Method
Prototype
Singleton

■プログラムの構造に関するパターン
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy

■オブジェクトの振る舞いに関するパターン
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memonto
Observer
State
Strategy
Template Method
Visitor

読んだ本

PHPによるデザインパターン入門

PHPによるデザインパターン入門


デザインパターンのいいところは、正しいオブジェクト指向の考え方がいつの間にか身につくところだ。
オブジェクト指向は、デザインパターンで学ぶのがいいと思う。どの言語でも。むしろJava,PHP,Rubyやその他の言語で横断的にデザインパターンを学ぶことで、より抽象化したモデルとして頭の中にパターンが蓄積されることを期待している。

感謝のプログラミング

今回で感謝のプログラミングは【370時間目】
10000時間まで、あと【9630時間】