第四章:类和接口。ITEM13:使类和成员的可访问性最小化。

信息隐藏是软件程序设计的基本原则之一,面向对象又为这一设计原则提供了有力的支持和保障。这
里我们简要列出几项受益于该原则的优势:
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     }

 

转载于:https://my.oschina.net/u/726229/blog/310085

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值