今天开始读设计模式-可复用面向对象软件的基础(Design Patterns-elements of reusable Object-Oriented Software)
1. The purpose of this book is to record experience in designing object-oriented software as design patterns. Each design pattern systematically names, explains,
and evaluates an important and recurring design in object-oriented systems. Our goal is to capture design experience in a form that people can use effectively.
To this end we have documented some of the most important design patterns and present them as a catalog.
2. None of the design patterns in this book describes new or unproven designs. We have included only designs that have been applied more than once in different
systems. Most of these designs have never been documented before. They are either part of the folklore of the object-oriented community or are elements of some
successful object-oriented systems—neither of which is easy for novice designers to learn from. So although these designs aren't new, we capture them in a new
and accessible way: as a catalog of design patterns having a consistent format.
3. Despite the book's size, the design patterns in it capture only a fraction of what an expert might know. It doesn't have any patterns dealing with concurrency
or distributed programming or real-time programming. It doesn't have any application domain-specific patterns. It doesn't tell you how to build user
interfaces, how to write device drivers, or how to use an object-oriented database. Each of these areas has its own patterns, and it would be worthwhile for someone
to catalog those too.
4. Although design patterns describe object-oriented designs, they are based on practical solutions that have been implemented in mainstream object-oriented
programming languages like Smalltalk and C++ rather than procedural languages (Pascal, C, Ada) or more dynamic object-oriented languages (CLOS, Dylan, Self).
We chose Smalltalk and C++ for pragmatic reasons: Our day-to-day experience has been in these languages, and they are increasingly popular.
找到另外一本书 :design pattern for embedded system in c,中文译本为C嵌入式编程设计模式,读一读，看一看!
6.Object composition is an alternative to class inheritance. Here, new functionality
is obtained by assembling or composing objects to get more complex functionality.
Object composition requires that the objects being composed have well-defined
interfaces. This style of reuse is called black-box reuse, because no internal
details of objects are visible. Objects appear only as "black boxes."
7.Object composition is defined dynamically at run-time through objects acquiring
references to other objects.
第二章 A case study
第三章 Creational Patterns