信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这
里我们简要列出几项受益于该原则的优势:
1.更好的解除各个模块之间的耦合关系:
由于模块间的相互调用是基于接口契约的,每个模块只是负责完成自己内部既定的功能目标和单元测
试,一旦今后出现性能优化或需求变更时,我们首先需要做的便是定位需要变动的单个模块或一组模块,
然后再针对各个模块提出各自的解决方案,分别予以改动和内部测试。这样便大大降低了因代码无规则交
叉而带来的潜在风险,同时也缩减了开发周期。
2.最大化并行开发:
由于各个模块之间保持着较好的独立性,因此可以分配更多的开发人员同时实现更多的模块,由于每
个人都是将精力完全集中在自己负责和擅长的专一领域,这样不仅提高了软件的质量,也大大加快了开发
的进度。
3.性能优化和后期维护:
一般来说,局部优化的难度和可行性总是要好于来自整体的优化,事虽如此,然而我们首先需要做的
却是如何定位需要优化的局部,在设计良好的系统中,完成这样的工作并非难事,我们只需针对每个涉及
的模块做性能和压力测试,之后再针对测试的结果进行分析并拿到相对合理的解决方案。
4.代码的高可复用性:
在软件开发的世界中,提出了众多的设计理论,设计原则和设计模式,之所以这样,一个非常现实的
目标之一就是消除重复代码。
不要提供直接访问或通过函数返回可变域对象的实例:
1 private static finla Thing[] PRIVATE_VALUES = {...} ; 2 3 //解决方案1 4 public static final List<Thing> VALUES = Collections.unmodifiableList(Arrays.asList(PRIVATE_VALUES)) ; 5 6 //解决方案2 7 public static final Thing[] values(){ 8 return PRIVATE_VALUES.clone() ; 9 }
时间: 2024-10-11 09:01:23