JAVA的设计原则
JAVA的设计原则
1. 接口隔离原则(ISP:Interface Segregation Principle)
定义:使用多个专门的比使用单一的总接口要好。也可以说:建立单一接口,不要建立臃肿庞大的接口。
ISP的两种定义:
◇ “Clients should not be forced to depend upon interfaces that they don't use”
客户端不应该依赖它不需用的接口。
◇ “The dependency of one class to another one should depend on the smallest possible interface”
一个类对另外一个类的依赖性应当是建立在最小的接口上的。(从客户端)
接口与角色:将接口理解为一个类所提供的所有方法的特征集合。如此,接口的划分,就带来了类型的划分。所以一个接口应该只表示一种角色,而不是担任多个角色。
接口污染(Interface Contamination):所谓接口污染就是为接口添加了不必要的职责。接口污染会带来维护和重用方面的问题,最常见的问题是我们为了重用被污染的接口,被迫实现并维护不必要的方法。因此,我们必须分离客户程序,分离客户程序就是分离接口。
分离接口的实现方法:
分离接口的方式一般分为两种:
1) 使用委托分离接口。(Separation through Delegation)
就把请求委托给别的接口的实现类来完成需要的职责,就是适配器模式(Adapter)。
2) 使用多重继承分离接口。(Separation through Multiple Inheritance。)
该方法通过实现多个接口来完成需要的职责。
两种方式各有优缺点,通常我们应该先考虑后一个方案,如果涉及到类型转换时则选择前一个方案。
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
一:准备 www.savarese.org download
1. rocksaw-1.0.0-src.tar.gz
2. vserv-tcpip-0.9.2-src.tar.gz
二:编译源文件得到jar包 使用Ant
1. build vserv-tcpip-0.9.2-src
在vserv-tcpip-0.9.2目录下面建一个tests目录,然后在cmd窗口下进入 ......
我个人理解初始化和清理的关系就是吃饭和上厕所,正是有了初始化的对象,我们才能使用清理。但是为什么要清理呢?想象一下一个人光吃不拉,是个什么情况?:)难道我们的程序也要像吃饭一样光产生对象,而不去清理使用完毕的对象?任由我们的对象堆积如山,占用系统资源?
以构造函数确保初始化的进行
&nb ......
距离Java7的MR版本发布有段时间了,通过安装试用之后的总体感觉是:速度又快了。仔细阅读了Java7的相关文档发现,Java7拥有如下的一些新的特性。
首先是模块化特性:如果您安装和使用过NetBeans6.7的话,是不是会有一个很大的感觉,就是NetBeans6.7的启动速度比以前快了很多,当然并不是NetBeans已经使用了Java7,而是NetB ......
结合Delphi
客户端桌面开发的优势和Java的稳健强壮特性,采用Delphi
Client + Java Server的系统架构应该是很有市场的,经过一段时间的实际项目实践,实现架构是这么实现的,供讨论:
1.后台应用服务层可采用基于Spring+Hibernate的轻量级J2EE实现,并使用Apache XML-RPC
提供客户端调用接口;
2.前台采用 Delphi
......