程序员的第一个概念:重用/复用
①重用放在重中之重
软件重用,是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需求分析文档甚至领域知识。通常,可重用的元素也称作软构件,可重用的软构件越大,重用的粒度越大。
模式分类
从目的来看:
1.创建型
对类的现实化进行了抽象,能够使软件模块做到与对象的创建和组织无关。
功能:类的创建
创建型: 单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式
2.结构型
描述类和对象之间如何进行有效的组织,以形成良好的软件体系结构,主要的方式是使用继承关系来组织各个类。
功能: 组合代替、类与类之间的关系
结构型: 适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
3.行为型
描述 类和对象之间如何交互以及如何分配职责
功能:关注对象与行为的分离、就是要把行为分离到类里面
行为型: 观察者模式、中介者模式、状态模式、解释器模式、策略模式、职责链模式、访问者模式、迭代器模式、命令模式、迭代器模式、备忘录模式
从范围来看(实现手段)
1.类模式处理类与子类之间的静态关系
更偏重于继承
2.对象模式处理对象与对象之间的动态关系
更偏重于组合
设计模式要寻找变化点,在变化点处使用设计模式,从而更好地面对需求的变化
重构获得模式
静态–>动态
早绑定–>晚绑定
继承–>组合
编译时依赖–>运行时依赖
紧耦合–>松耦合