`
Hode
  • 浏览: 26975 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

不变模式Immutable

 
阅读更多
  • 不变模式只涉及一个类,分为弱不变模式和强不变模式。
  • 弱不变模式:对象没有任何方法会修改对象的状态,属性私有,如果引用对象可变则须限制外界对可变对象的访问
  • 强不变模式:所有方法必须是final类型的,保证其和其子类的实例状态都是不可变化的
  • 不变对象:易于维护,线程安全
  • Java里面的引用:String(强不变模式),封装类(Integer,Long)(强不变模式)

分享到:
评论

相关推荐

    源码:阎宏设计模式光盘

    com.javapatterns.immutable 不变模式 com.javapatterns.interfaces Java接口 com.javapatterns.interpreter 解释器模式 com.javapatterns.isp 接口隔离原则 com.javapatterns.iterator 迭代子模式 ...

    21-C-ImmutableObject-Code.zip

    这是关于不可变对象模式的初学者教程,其中包含C#中的示例。我们讨论“内部不变性”与“观察不变性”等主题。

    java26个设计模式

    工厂模式Factory 原始...不变Immutable 策略Strategy 模版Template 观察者Observer 命令Command 备忘录Memento 状态State 访问者Visitor 解释器Interpreter 调停者Mediator Iterator 责任链Chain of Responsibility

    immutable-state-helper:用于React.js的Immutable.js辅助函数

    不变的状态帮手安装npm install immutable-state-helpercreateImmState setState模式的辅助函数。 从复制和修改。签名createImmState(thisArg, [field], [callback]): Function争论thisArg(*):React Element的...

    immutable-enumerables

    不可枚举的样式利用了一些现代JavaScript功能以及功能编程语言已经使用了很长时间的完善模式。 尽管使用此样式定义的类型缺乏完全的不变性,但它们还避免了Object.freeze功能JavaScript性能问题。 让我们直接进入并...

    dart-immutables

    用户可以绑定实现其包装类接口的包装器(以与选中模式配合使用)。 正在考虑将明确列入白名单的方法支持为非变异的。 什么是不变的? 该库假定有几个调用未改变其目标: 吸气剂:一般而言,不应突变靶标。 请注意...

    bistate:一个用于React的不可变,可变和React模式组合的状态管理库

    欢迎来到Bistate :waving_hand: 通过简单地修改当前树来创建下一个不可变状态树bistate是一个很... immutable state + scapegoat state =双态不可变的目标被代理冻结替罪羊具有与不变目标相同的值mutate(()=> { the_

    Java的六大问题你都懂了吗

    其实上面的功能要求用方法重载完全可以实现,这是面向对象变成应有的做法,避免回到结构化编程模式。只要提供两个名字和返回值都相同,接受参数类型不同的方法就可以了:所以,使用instanceof在绝大多数情况下并不是...

    Scala程序设计(第2版)

    12.1.5 collection.immutable包 291 12.1.6 scala.collection.mutable包 292 12.1.7 scala.collection.parallel包 294 12.2 选择集合 295 12.3 集合库的设计惯例 296 12.3.1 Builder 296 12.3.2 ...

    Guava 16.0 API (CHM格式)

    Immutable collections(不变的集合): 防御性编程, 不可修改的集合,并且提高了效率。  2. New collection types(新集合类型):JDK collections 没有的一些集合类型,主要有:multisets,multimaps,tables, ...

    mono:CSS没有副作用。 没有无节制的超越,专制性战争或级联冲突

    它使用不变性来消除通常与CSS相关的副作用! Mono是一种旨在改进CSS开发的设计模式和语言。 Mono使CSS可预测,健壮并且易于推理。 它使开发人员可以放心地进行更改,而不会带来不必要的副作用。

    php-slang:PHP与函数式编程相遇的地方

    模式匹配 记忆化 不可变的HashMap集合 不可变集集合 提取器 尝试monad 未来单子 并行不可变列表集合 并行不变HashMap集合 并行不可变集合集合 可遍历的集合 无限精度的数值类型 Chainable \ pipe monad ...

Global site tag (gtag.js) - Google Analytics