(1)在编写方法时,尽量把一个接口(变量)看做接口,而不看做类,但是得思考程序运行中该接口变量所指引的对象的实际类型可能有哪几种情况,和需不需要在编写的方法中反映出来。使用if..else、instanceof和强制类型转换反映实际类型,例:
 
if (form instanceof UploadForm) {
    UploadForm uploadForm = (UploadForm)form;
    //...
}

上面代码揭示了,接口变量所指引的对象的实际类型被固定到一种或几种,此方法与这些类型高耦合。

 

(2)在编写一个类时不要同时使用多种技术(除Java外),避免一种技术与另一种技术耦合在一起,也就是说一个类中不要import两种及两种以上技术(Java除外)。并且避免不同技术的类直接调用,而为被调用类建立接口(接口没有使用任何技术),避免import类,应import接口。

 

某某技术类,即import了一种除Java技术以外的某某技术的Java类。

以下类可称为Struts技术类:

Struts的jar包中的类

import或extends了Struts的jar包中的类的自定义类

 

技术耦合类,即import了两种及以上技术类。应避免技术耦合类。