栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

设计模式之单例,工厂,抽象工厂,观察

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式之单例,工厂,抽象工厂,观察

设计模式

设计原则:高内聚,低耦合

设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路

GoF23

它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。

单例模式

当在高并发的情况下,假设一秒钟main方法执行了上千次/上万次user对象反复创建,对资源占用严重

这就需要我们使用单例模式:只创建一个对象

创建形式:饿汉式,懒汉式

饿汉式

类加载时创建

创建的时机不一样

  • 私有化的静态属性

  • 私有化构造方法(在别的类中不可以创建对象)

  • 提供一个公开的静态的方法(返回1步骤中的对象属性)

在其他类中创建对象时不可以new

懒汉式

线程不安全

  • 私有化静态属性
  • 私有化构造方法(再别的类中无法创建对象)
  • 提供公开的静态的方法(返回1中对象属性)

返回对象的方法在第一次被调用时才会创建对象,后续直接返回第一次调用的对象

调用时创建

升级版线程安全的懒汉式 synchronized,相对于降低效率

双检锁double-check

饿汉式,懒汉式(线程安全的,线程不安全,双重校验—double check)

简单工厂模式

用途:主要解决接口选择的问题。在不同情况下创建不同的实现类对象

步骤

  • 一个接口多个实现
  • 创建一个工厂类,工厂类中包含公开的静态的方法(返回值接口类型,方法包含参数:根据不同的情况)
  • 方法体中分析不同的情况,创建不同的接口实现类对象
  • 将创建的实现类对象返回出去
抽象工厂模式

一个工厂已经解决不了问题

理解:工厂的工厂 ,如何选择工厂

观察者模式

解决的问题:当对象存在一对多时,一的对象发生改变时,所有依赖这个对象的其他对象都会得到通知

班级dept(一)对应学生student(多)班级地址改了;学生都应该得到通知;

观察者模式:定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。

别名

  • 发布-订阅(Publish/Subscribe)模式
  • 模型-视图(Model/View)模式
  • 源-监听器(Source/Listener)模式
  • 从属者(Dependents)模式

开闭原则:对扩展开放,对修改关闭

里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立

依赖倒置原则:要面向接口编程,不要面向实现编程。

单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性。

接口隔离原则:要为各个类建立它们需要的专用接口

迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话。

合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/680489.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号