《GoF设计模式》英文原版书详细介绍了面向对象设计中的23种经典设计模式,是软件架构和开发人员不可或缺的参考书籍。
设计面向对象软件是一项挑战性的任务,而创建可重复使用的面向对象软件则更加困难。你必须找到相关的实体,并将它们以合适的规模划分为类;定义这些类的接口及继承层次结构,并建立关键的关系网络。你的设计方案既要针对当前问题进行定制,又要具有足够的通用性来应对未来的各种需求和要求。同时,你也希望尽量避免重新设计或至少将其降到最低限度。
有经验的面向对象设计师会告诉你,一个既可重复使用又灵活的设计方案首次尝试时往往难以做到完美无缺。通常,在最终确定设计方案之前,他们会多次尝试对其进行复用,并在每次尝试中进行相应的修改和调整。