Separated Inferface:在一个包定义接口,而在另一个与这个包分离的包中实现这个接口。

使用场景:
    当需要对两个系统之间进行解藕时,可以使用Separated Interface。当并不提倡对每个类都使用Separated Interface。保持接口和实现的分离需要一些额外的工作,只有当你希望打破这种依赖关系的使用才使用它,或者同一个接口有多个实现才使用。当然,也可以把接口和实现放在一起,当需要分离的时候才进行重构。

与GOF模式区别
    Separated Interface可以在GOF模式中经常见到,它是一个模式应用的基本元素。


Value Object :一个小而简单的对象,判断相等时并不根据标识ID。

使用场景
    当某事物的判断相等不是基于标识时,你就可以使用Value Object。对于任何小且易于创建的对象也可以考虑使用Value Object。

与GOF模式区别
    在GOF模式中,没有Value Object相类似的模式。