ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaSE之设计模式

2022-04-04 22:00:06  阅读:153  来源: 互联网

标签:关系 角色 静态 代理 接口 线程 JavaSE 设计模式


设计模式

致命三连

  1. 什么是:是前辈对代码开发经验的总结是解决一系列问题的套路。是一套用来提高代码复用性,可维护性,可读性,稳健性以及安全性的解决方案。

 

类与类之间的关系

继承关系(extends)

继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。

实现关系

实现指的是一个class类实现interface接口(可以是多个)的功能,实现是类与接口之间最常见的关系。

依赖关系

就是一个类A可能会用到另一个类B,所以将类B作为类A的参数传入到类A,这个可能具有偶然性,临时性,非常弱的关系

关联关系

两个类之间语义级别相同,是一种强依赖关系。他是长期性的,是平等的关系

  1. 聚合关系:has-a关系,关联关系中的一种,是部分与整体的关系。两类之间有各自的声明周期。当整体不存在在时,部分还存在。

  2. 组合关系:cintains-a关系,关联关系的特例,比聚合关系更强,同样体现部分与整体,可两类之间的生命周期相等,一个不存在另一个也将不存在。

 

单例模式

致命三连

  1. 什么是:为了节省内存资源,保证数据内容的一致性,对某个类要求只能创建一个实例

分类

  1. 懒汉式:在调用功能时就创建,线程不安全|不同步

    创建步骤

    1. 私有的静态的该类的引用

    2. 构造器私有化

    3. 公共的静态的访问方式,为了保证多个线程同时加载线程安全要在方法名上加synchronized锁住该方法。

  2. 饿汉式:在类加载完成之后就创建对象,线程安全|同步 创建步骤

    1. 私有的静态的该类的引用

    2. 构造器私有化

    3. 公共的静态的访问方式(newInstance)

 

代理模式

致命三连

分类

  1. 静态代理

    1. 代理与真实角色实现相同接口

    2. 代理角色持真实角色引用

    3. 代理行为

  2. 动态代理

 

简单工厂模式

  1. 抽象产品角色

  2. 具体产品角色

  3. 工厂角色

注意:字符串比较是否相等需要使用equals方法进行比较字符串的内容,建议常量放在.的前面,避免空指针异常的出现

 

标签:关系,角色,静态,代理,接口,线程,JavaSE,设计模式
来源: https://www.cnblogs.com/luowb/p/16100682.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有