java设计模式 23种;单例设计模式

设计模式用来解决某些场景下的某一类问题的;通用的解决方案;

有了设计模式之后 可以让代码更容易被理解 确保了复用性 可靠性 可扩展性;

 设计模式分为三类

1.创建型模式(5种);用于解决对象创建的过程;

  单例模式 工厂方法模式 抽象工厂模式 创造者模式 原型模式

2.结构型模式(7种);把类或对象通过某种形式结合在一起 构成某种复杂或合理的结构;

  适配器模式 装饰者模式 代理模式 外观模式 桥接模式 组合模式 享元模式;

3.行为型模式(11种);用来解决类或对象之间的交互 更合理的优化类或对象之间的关系;

  观察者模式 策略模式 模板模式 责任链模式 解释器模式 命令模式 状态模式 备忘录模式 访问者模式 中介者模式;

==============================================================

单例模式(Singleton)

  设计-->一个类只能创建一个对象 有效减少内存占用空间;

单例模式的实现;对象的加载--->饿汉式(立即加载);懒汉式(延迟加载);生命周期托管(单例对象别人帮我们处理)

  1.私有的构造方法;

  2.私有的静态的当前类对象作为属性;

  3.公有的静态方法,返回当前类对象;

对象的加载

饿汉式(立即加载);对象启动时候就加载啦,不会产生对象没有就拿来使用的问题 空指针异常;启动项目加载的对象过多 有些还没有使用 产生服务器承载压力的问题;

懒汉式(延迟加载);对象什么时候用到了,才会加载;可能会由于没有操作好 导致异常(很严谨);启动项目时候只有需要的加载 不需要的还没有创建 不会浪费空间;

生命周期托管(单例对象别人帮我们处理);对象加载过程交给别人;

 

 适配器模式 Adapter

定义一个规则-->和尚 吃斋 念经 打坐 撞钟 习武

适配器(通常是一个抽象类)添加某些具体实现(方法内部抛出异常)

鲁智深 

 

 策略模式 Strategy---行为模式

用来解决 执行流程固定 执行的结果由于提供了不同的策略而不同;

人--抽象类 接口(不能产生对象) 传递一个子类对象

 

 人类 提供策略--抽象类、抽象方法;

具体类 实现策略;(老年人、vip、年前人)

 

 

 

posted on 2020-05-07 21:02  星空6  阅读(198)  评论(0编辑  收藏  举报

导航