设计模式 引子
设计模式的世界丰富多彩,比如生产一个个“产品”的工厂模式,衔接两个不相关接口的适配器模式,用不同的方式做同一件事情的策略模式,构建步骤稳定,根据不同配置构造稳定的建造者模式。
而有了设计模式不是就完美无缺,需要结合面向对象,产生一个个真正的产品,让产品可复用,可维护,可扩展,还要具有一定的灵活性(比如只能实现某个具体的需求 后面维护需要改动很多的代码)。
设计模式对于程序员来说基本是不陌生的,大部分的程序员都要直接或间接的使用,所以作为程序员的基本功,设计模式是必须的技能。无论是在大型的工程,还是在代码的学习,都不可或缺。
设计模式的6大原则:
- 开闭原则
- 一个软件实体类 模块 函数 应该对修改关闭,对扩展开放
- 里氏替代原则
- 子类可以完全替代父类,也就是说子类在继承的时候,可以扩展,但是不要破坏原来类的功能。
- 依赖倒置原则
- 细节应该依赖抽象,抽象不应该依赖细节。抽象应该稳定,不容易变,所以接口一定要考虑周全,设计稳定,实现的细节由子类或者组成的模块完成。
- 单一职责原则
- 一个类做一件事情,只有一件事情可以修改它。
- 迪米特法则
- 最少知道原则,一个类不应该知道自己的细节
- 接口隔离原则
- 客户端不应该依赖它不需要的接口 少即是多 多既是少
设计方法的23种模式:
23种模式主要分为3大类:
- 构建类 生产需要的对象 5种
- 结构型 需要生产的内容 7种
- 行为模式 11种