`
lichaozhangobj
  • 浏览: 100843 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

不变模式

 
阅读更多

一个对象的状态在对象创建之后就不再变化,这就是不变模式

不变模式有两种状态:一种是弱不变模式,另一种是强不变模式

 

弱不变模式:一个类的实例的状态是不可变化的,但是这个类的子类的实例具有可能变化的状态

第一,所考虑的对象没有任何方法会修改对象的状态

第二,所有的属性都应当是私有的

第三,这个对象所引用到的其他对象如果可变对象的话,必须设法限制外界对这些可变对象的访问,防止外界修改这些对象。如果可能,应当尽量在不变对象内部初始化这些被引用到的对象,而不要在客户端初始化,然后再传入到不变对象内部来。如果某个可变对象必须在客户端初始化,然后再传入到不变对象里的话,就应当考虑在不变对象初始化的时候,将这个对象复制一份,而不要使用原来的拷贝

 

强不变模式:一个类的实例的状态不会改变,同时他的子类的实例也具有不可变化的状态

要实现强不变模式,一个类必须首先满足弱不变模式所有条件,并且还要满足下面条件之一:

第一,所考虑的类所有的方法都应该是final

第二,这个类本身就是final的

 

java的String是一个强不变类

分享到:
评论

相关推荐

    lbp.rar_LBP特征_LBP特征提取_lbp_lbp旋转不变性_不变模式

    在本文中,我们将深入探讨LBP的基本原理、计算方法以及其在旋转不变性和不变模式上的应用。 1. **基本概念** LBP通过比较像素点与其周围邻域像素的灰度差异,将这些差异转换为二进制码,形成一种描述纹理的局部...

    均一模式局部二值模式纹理特征计算代码,Uniform-LBP,旋转不变模式

    本文将详细讨论“均一模式局部二值模式”(Uniform Local Binary Pattern, U-LBP)以及基于IDL实现的计算代码。 局部二值模式(LBP)是一种简单而有效的纹理分析方法,它通过比较像素邻域内的灰度差异来生成二进制...

    广义矩阵铅笔法合成具有频率不变模式的非均匀间隔线性阵列

    以上知识点涉及了天线阵列设计中的关键概念和技术细节,包括非均匀间隔线性阵列的配置、频率不变模式的理论基础、矩阵铅笔法的扩展应用,以及在实现频率不变模式时所需的数学方法和信号处理技术。这些内容对于通信和...

    模式识别中的不变性

    ### 模式识别中的不变性 #### 一、引言 模式识别是现代信息技术领域中的一个关键组成部分,尤其是在计算机视觉、语音识别等应用中扮演着重要角色。在处理模式识别问题时,面临的最大挑战之一是如何有效地处理数据...

    设计模式学习摘要(PDF)

    1. **不变模式**:虽然在文档中没有详细描述,但可能是指定义了固定行为的模式,例如不可变对象。 2. **策略模式**:定义了一系列算法,并将每个算法封装起来,使它们可以互相替换。这使得算法可以独立于使用它的...

    并发设计模式

    - 不变模式:确保对象在生命周期内的不变性,从而简化线程同步。 - Future模式:异步执行任务并返回结果,提供了一种机制来获取异步任务的结果。 - 生产者消费者模式:管理不同线程之间的数据交换。 #### 三、...

    Invariant pattern recognition

    ### 不变模式识别 #### 摘要与背景 本文由Jeffrey Wood撰写,发表于1996年的《模式识别》期刊上,是关于不变模式识别领域的一篇综述文章。作者对解决不变模式识别问题的经典方法和现代技术进行了回顾和比较。这些...

    MSA.rar_msa_不变特征_多尺度_多尺度自卷积

    根据压缩包子文件的文件名称“Affine invariant pattern recognition using multiscale autoconvolution.pdf”,我们可以推断这篇文章可能详细介绍了如何使用多尺度自卷积来实现对图像的仿射不变模式识别。...

    图像lbp特征提取的MATLAB实现源码

    例如,对于3x3邻域,有8种可能的非旋转不变LBP模式,而有256种旋转不变模式。 4. **统计分析**:计算每个像素点的LBP值后,可以进一步统计LBP直方图,或计算LBP特征的均值、方差等统计量。这有助于减少特征维度,...

    局部二值模式

    实现LBP的统一模式,旋转不变模式和二者结合的模式。。。

    一种改进的局部三值模式的人脸识别方法.pdf

    传统的LBP运算通常包括统一模式、旋转不变模式等,但它们在处理光照变化、面部表情变化以及遮挡等问题时可能会受到影响。 针对这些问题,该论文可能提出了一种改进策略,这可能包括但不限于以下几点: 1. **增强...

    图像仿射不变方法研究

    对旋转不变纹理分类的研究,基于Gabor小波的旋转不变纹理分类方法和基于圆形Gabor小波的旋转不变纹理分类方法。同时为了测定旋转纹理的角度,又基于...对尺度不变模式识别的研究,基于经验模态分解和梅林径向调和分解。

    计算机网络技术个人简历.docx

    求职者对设计模式有深入理解,包括工厂模式、单例模式、缺省适配器模式、不变模式、装饰模式、代理模式以及MVC和Spring IoC等,这些都是软件设计中的重要模式,有助于提高代码的可重用性和可维护性。他还熟练运用Web...

    论文研究-完备局部凸凹计数模式及其旋转不变纹理分类.pdf

    针对局部凸凹模式算法对旋转纹理图像描述的不足,提出了局部凸凹计数模式进行旋转不变纹理描述。局部凸凹计数模式统计纹理的局部凸或凹模式数目,而抛弃了局部凸凹模式的结构信息。在纹理图像发生平面内旋转的情况下...

    java后台开发中高级工程师求职简历.docx

    * 能熟练地应用各种常见的设计模式,如工厂模式、单例模式、缺省适配器模式、不变模式、装饰模式、代理模式、MVC等 * 掌握设计模式的基本知识,如 SOLID 原则、GRASP 原则等 数据库编程 * 熟练应用 Oracle、MySQL ...

    JAVA 设计模式 工厂模式 代理模式 迭代模式 责任链模式 源码

    在代理模式中,代理类作为真实对象的代表,可以在客户端和目标对象之间起到中介作用,例如,可以添加额外的功能,如缓存、日志记录、权限控制等,同时保持原有接口不变。 3. **迭代器模式**:迭代器模式是行为型...

    java后台开发中高级工程师求职简历.pdf

    2. 设计模式:熟练应用各种常见的设计模式,如工厂模式、单例模式、缺省适配器模式、不变模式、装饰模式、代理模式、MVC、SpringIoC等。 二、 Web开发技术 1. Spring、Struts、Hibernate框架:熟练整合Spring+...

    java工程师项目经验简历范文.docx

    3. **设计模式**:如工厂模式、单例模式、适配器模式、不变模式、装饰模式、代理模式、MVC模式等,它们是软件设计的通用解决方案,能够提高代码的可维护性和复用性。 4. **数据库编程**:Oracle和MySQL是常用的关系...

Global site tag (gtag.js) - Google Analytics