游戏Java

« Previous day (十二月 19, 2005) | Main | Next day (十二月 21, 2005) »

http://blog.matrix.org.cn/Kaizen/date/20051220 星期二 2005年12月20日

尽量减少模块间的耦合程度

[Effective Java]
要想区别一个设计良好的模块与一个设计不好的模块,最重要的因素是,这个模块对于外部的其他模块而言,是否隐藏了内部的数据和其他的实现细节。

上面的关于细节隐藏的概念既是:封装(encapsulation)/信息隐藏(information hiding)

社会分工越来越细是必然的,在软件开发的过程中也是一样,现在为了提高软件的开发效率,就必须使各个模块间的耦合程度尽可能的减小,解除了耦合关系的模块可以被独立的开发、测试、优化、使用、理解和修改,其主要目的是为了达到并行开发,提高项目开发速度。在java中由访问控制来决定类、接口和成员的可访问性。你需要对你开发的类、接口负责,如果你开发的是一个公有的类或接口,你在改写它的时候将要考虑每一个使用这个类的或接口的用户,然而如果你的类或接口是私有的,那么你进行修改,替换甚至去处都不用担心会伤害到现有的用户。

[EffectiveJava]
1.经验表明:你应该尽可能地使每一个类或成员不被外界访问。
2.具有公有的静态final数组域几乎总是错的。

总结:
总是尽可能地降低可访问性。在设计了一个最小的公有API之后,应该防止把任何杂散的类、接口和成员变成API的一部分。除了公有静态final域的特殊情况外,公有类不应该包含公有域。并确保公有静态final域所引用的对象是不可变的。


Valid HTML! Valid CSS!

This is a personal weblog, I do not speak for my employer.