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より