Design Patterns
Design PatternsはJavaに限ってではないけれど、
まあ私はJavaしか使ってないので、このカテゴリにいれときます。
So, what are design patterns?
Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Design patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges.
Design Patternsより
GOFによって書かれた『Design Patterns』はプログラマーにとってバイブルとも言えるでしょう。
余談:
実は私GOFのメンバーの1人EGにお会いしたことがあるんです。
随分昔になりますが…。
インターンをした会社で彼も働いていて(彼はスイス在住でしたが)
一度だけうちのオフィスに来られてその時に。
中々素敵な人でした。
使用頻度の高いもの、実際に面接で聞かれたものを数個リストアップ。
Abstract Factory (Creational Patterns)
Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
Singleton (Creational Patterns)
Ensure a class has only one instance and provide a global point of access to it.
Façade (Structural Patterns)
Provide a unified interface to a set of interfaces in a subsystem. Façade defines a higher-level interface that makes the subsystem easier to use.
Observer (Behavioral Patterns)
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
再度Design Patternsより