单例模式(创建模式)
保证系统中只有一个实例。
1、懒汉式 线程安全 懒加载 效率慢
4、静态内部类 线程安全 懒加载
5、枚举类
工厂模式(创建模式)
提供创建对象的方式
简单工厂模式
根据类型返回指定的对象,简单,扩展比较方便,但是对象类型较多的时候难以维护
工厂方法模式
工厂方法是简单工厂的深入,针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例 适用于产品类型比较复杂的情况
抽象工厂
抽象工厂是工厂方法模式的深入,使用于不同产品之前存在组合的情况,为每种组合创建工厂,形成工厂簇
策略模式(行为模式)
封装了不用的实现方式,通过策略模式,实现不用的实现的切换
优点:扩展方便,只要增加新的策略就可以了;避免了多重条件的判断
缺点:策略的实现需要暴露个客户端,客户端需要了解策略才能决定使用哪种策略
改良:混合工厂模式
观察者模式/发布订阅模式(行为模式)
迭代器模式(行为模式)
用于顺序访问集合中的元素,而不需要知道集合对象的底层表示
模板方法模式(行为模式)
抽象类中公开了方法的执行方式(模板),子类按照需求重新方法,调用以抽象类中的方式执行
适配器模式(结构型)
作为两个不兼容接口的桥梁,使一个接口可以提供另一个接口的功能,举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡
装饰者模式(结构型模式)
不改变现有对象结构的基础上,添加新的功能。
MVC模式
模型视图控制器模式,代表应用程序的分层开发