当前位置:首页 科普知识 不变模式

不变模式

发布时间:2023-09-16 17:35:53

不变模式 , 行为型模式一种 ,系统使用某个对象的过程中 , 需要创建数量较多的同类对象 , 同时大量对象中还普遍存在状态相同的情况 , 此时就需要简化对象状态 , 使相同状态的对象的量减少 , 降低资源的消耗 。

不变模式简介

不变模式 , 行为型模式一种 .

不变模式

系统使用某个对象的过程中 , 需要创建数量较多的同类对象 , 同时大量对象中还普遍存在状态相同的情况 , 此时就需要简化对象状态 , 使相同状态的对象的量减少 , 降低资源的消耗 .

不变模式可以达到这样的要求 , 当一个对象创建之后 , 内部状态在整个类生命周期都不会发生变化 , 如果变化则需要创建新类来完成 .

不变模式分类

不变模式分为弱不变模式和强不变模式

弱不变模式 , 某个类对象状态不可以变化 , 但是其子类对象的状态可以变化 .

强不变模式 , 某个类对象状态不可以变化 , 同时其子类对象的状态也不能进行变化 .

不变模式一般只有一个不变类组成 , 如果讨论不变模式种类需要增加子类来完成 .

不变模式

不变模式不变模式达成条件

1. 不变类中没有方法修改对象的状态 .

2. 不变类中所有属性都为私有 .

3. 不变类中引用的其他对象 , 必须设置外界访问的权限 . 以上条件满足达到弱不变模式 .

4. 不变类中所有方法都应该为final (针对java语言) , 也就是子类不能置换掉的方法 .

5. 不变类本身就是final (针对java语言) , 也就是不变类不能被继承 , 不会有子类存在 . 以上五条件满足达到强不变模式 .

不变模式弱不变模式的缺点

1. 不变类子类对象可以修改状态 , 也就是不变类子类可以不为不变类 .

不变模式

2. 不变类子类可以修改父类的状态 , 从而不变类对象变为可变对象 .

不变模式不变模式优缺点

优点 : 不变对象比可变对象更加容易维护 .

不变对象是线程安全的 .

缺点 : 需要修改状态时 , 就需要通过创建新对象来完成 .

温馨提示:
本文【不变模式】由作者 教育百科书 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6