JavaSE之设计模式
2022/4/4 22:19:05
本文主要是介绍JavaSE之设计模式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
设计模式
致命三连
-
什么是:是前辈对代码开发经验的总结是解决一系列问题的套路。是一套用来提高代码复用性,可维护性,可读性,稳健性以及安全性的解决方案。
类与类之间的关系
继承关系(extends)
继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。
实现关系
实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。
依赖关系
就是一个类A可能会用到另一个类B,所以将类B作为类A的参数传入到类A,这个可能具有偶然性,临时性,非常弱的关系
关联关系
两个类之间语义级别相同,是一种强依赖关系。他是长期性的,是平等的关系
-
聚合关系:has-a关系,关联关系中的一种,是部分与整体的关系。两类之间有各自的声明周期。当整体不存在在时,部分还存在。
-
组合关系:cintains-a关系,关联关系的特例,比聚合关系更强,同样体现部分与整体,可两类之间的生命周期相等,一个不存在另一个也将不存在。
单例模式
致命三连
-
什么是:为了节省内存资源,保证数据内容的一致性,对某个类要求只能创建一个实例
分类
-
懒汉式:在调用功能时就创建,线程不安全|不同步
创建步骤
-
私有的静态的该类的引用
-
构造器私有化
-
公共的静态的访问方式,为了保证多个线程同时加载线程安全要在方法名上加synchronized锁住该方法。
-
-
饿汉式:在类加载完成之后就创建对象,线程安全|同步 创建步骤
-
私有的静态的该类的引用
-
构造器私有化
-
公共的静态的访问方式(newInstance)
-
代理模式
致命三连
分类
-
静态代理
-
代理与真实角色实现相同接口
-
代理角色持真实角色引用
-
代理行为
-
-
动态代理
简单工厂模式
-
抽象产品角色
-
具体产品角色
-
工厂角色
注意:字符串比较是否相等需要使用equals方法进行比较字符串的内容,建议常量放在.的前面,避免空指针异常的出现
这篇关于JavaSE之设计模式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?