一、总体分类:
创建型模式:
---->单例模式、工厂模式、抽象工程模式、建造者模式、原型模式。
结构型模式:
---->适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:
---->模板方式模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。
二、创建型模式:
1.单例设计模式:饿汉式和懒汉式范例
<1>功能:保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。
<2>常见应用场景:
- Windows中的任务管理器,回收站,网站的计数器,日志应用。
- 数据库连接池的设计,因为数据库连接时一种数据库资源。
- Application也是单例的典型应用(Serverlet编程中涉及)
- Serverlet编程中,每个Serverlet也是单例
数据库连接池的单例范例
<3>优点:
*减少系统性能开销。
<4>常见的五种单例模式实现方式:
- 主要:
*饿汉式(线程安全,调用效率高,但不能延时加载。)
特点:类初始化时立即加载。
*懒汉式(线程安全,调用效率不高,但可以延时加载)
特点:使用时才加载。调用对象不频繁时可以用懒汉式。
- 其他:
*双重检测锁式(不建议)
*静态内部类式(线程安全,调用效率高,但可以延时加载)
*枚举单例(线程安全,调用效率高,不能延时加载)
2.工厂模式 工厂模式
<1>功能:实现对象的实例,实现创建者和调用者的分离。
<2>详细分类:
*简单工厂模式
*工厂方法模式
*抽象工厂模式
<3>*简单工厂模式:最简单也最常见的,也叫静态工厂模式。
不利于扩展。
<4>工厂方法模式:
避免了简单工厂模式的缺点。
方法:1.创建Car工厂接口 ,2,创建奥迪工厂实现Car接口,3.创建比亚迪工厂实现Car接口。
扩展时更符合开放原则。
<5>抽象工厂模式
特点:用来生产不同产品族的全部产品。
2.MVC模式:
<1>将一些方法放在一个类中,使用时直接调用类即可。
MVC模式
3.工厂模式:
<1>定义:由一个工厂对象决定创建出哪一种产品类的实例。
工厂模式