go设计模式,研磨设计模式的读书笔记。
设计模式:是指在软件开发中,经过验证的,用于解决在特定环境下重复出现的特定问题的解决方案。
- 设计模式已经成为软件开发人员的“标准词汇”
- 学习设计模式是个人技术能力提高的捷径
- 不用重复发明轮子
- 基本入门级
- 要求能够正确理解和掌握每个设计模式的基本知识,能够识别在什么场景下出现了什么样的问题,采用何种方案来解决它,并能够在实际的程序设计和开发中套用相应的设计模式。
- 基本掌握级
- 除了具备基本入门级的要求外,还要求能够结合实际应用的场景,对设计模式进行变形使用。
- 能在实际开发中,根据需求,对模式进行变形。变形的前提是要能准确深入地理解和把握设计模式的本质,万变不离其宗,只有把握本质,才能确保正确变形使用而不是误用。
- 深入理解和掌握级
- 从思想和方法上吸收设计模式精髓,收发随心。
- 根据需求,对已有的模式进行变形、组合。
./pattern
包里放置比较通用的模板
./implement
包里放置相关模式的具体实现,比较简单的设计模式没有单独在此包进行实现。
抽象了对象实例化过程,用来帮助创建对象的实例。
- 简单工厂模式 (Simple Factory)
- 工厂方法模式 (Factory Method)
- 抽象工厂模式 (Abstract Factory)
- 生成器模式 (Builder)
- 原型模式 (Prototype)
- 单例模式 (Singleton)
描述如何组合类和对象以获得更大的结构。
- 外观模式 (Facade)
- 适配器模式 (Adapter)
- 代理模式 (Proxy)
- 组合模式 (Composite)
- 享元模式 (Flyweight)
- 装饰模式 (Decorator)
- 桥接模式 (Bridge)
描述算法和对象间职责的分配。