预测可变性和封装可变性

原创 2006年05月22日 12:02:00

    设计模式的核心思想就是"预测可变性和封装可变性"                                                                                             

下面说说我对封装可变性的体会吧,所谓封装可变性,就是有这样的效果,当需求变更或者设计变更的时候,需要对这个模块进行修改,但是不影响他的调用模块和被调用模块.   一般来说都不影响调用模块的了,除非是数据耦合.这种设计方法是比较糟糕的.  而对调用模块,要看调用模块A该变更模块B的关系吧.  如果是聚合关系 A包含B,B影响A只是通过public把接口暴露出去,如果在B中做到修改而不修改public函数的参数,并且参数的意义不变(这个很重要,有的人为了方便,参数不该,但是参数所指的意义改了.Oh ,my god!那是一场恶梦!!!),则A是不需要进行改动.这需要在B中预测到变化性,定义好接口,使入口参数能够处理以后的变化.

    例子以后再举,吃饭先

NFM System Configuration

NFD endpoints:bind endpoint 1 on card 0 to CPU 6root@ubuntu-PowerEdge-R720:/home/ubuntu# echo -n 6 >...

(转)设计模式-封装可变性

最难的不是理解设计模式,而是在实际项目中灵活应用它们,设计模式看似简单,用起来却不知从何下手。理论是用来实践的,实践才能出真理。设计模式属于OO的一部分, Gof的23种模式只不过是设计模式的沧海一粟...

String型的不可变性

  • 2014年06月30日 15:02
  • 17KB
  • 下载

不变性和可变性.pdf

  • 2008年05月25日 23:46
  • 170KB
  • 下载

Java中String类型的不可变性和驻留池

一 基本概念 可变类和不可变类(Mutable and Immutable Objects)的初步定义: 可变类:当获得这个类的一个实例引用时,可以改变这个实例的内容。 不可变类:不可变类的实例...

可变性部件模型源代码

  • 2014年05月13日 14:15
  • 22.36MB
  • 下载

effective java(15) 之使可变性最小化

effective java 之使可变性最小化 1、不可变类是实例不能被修改的类。每个实例中包含的所有信息都必须在创建该实例的时候就提供,并在对象的整个生命周期内固定不变。 例如Strin...

图解String类型的不可变性及其原因

String s=“abcd”; 上面的语句定义了一个字符串变量s,该变量指向字符串“abc”,当初始化变量s时,会在堆中为s非配内容空间,如下图所示: 当将字符串变量,赋值给另一个字符串变量时,...

String的不可变性、以及涉及到的字符串常量池和字符串拼接内部实现的剖析

1.String a="a"+"b"+"c"在内存中创建几个对象? 这个问题涉及到了字符串常量池和字符串拼接 String a="a"+"b"+"c" 通过编译器优化后,得到的效果是 S...

JAVA的不可变类(immutable)机制与String的不可变性

所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:预测可变性和封装可变性
举报原因:
原因补充:

(最多只允许输入30个字)