1 如何使用第三方代码?
第三方接口提供方追求普世性,提供很多种方法在各种环境下都能应用,以吸引用户。而使用者则想要集中满足特定需求的接口。这种矛盾在系统边界上出现问题。
比如 Map sensors = new HashMap();
别人访问的时候必须要 Sensors = (Sensors)sensors.get(sensorsId); 代码的使用者承担了从MAP取出对象转换为正确类型的责任?
比较好的实现,把MAP放到自己的亲近类中。
class Sensors{
private Map sensors = new HashMap();
public Sensor getById {
sss
}
}
原则,不要将MAP(边界上的接口)在系统中传递,应该尽可能把他放到类中管理,避免从公共API返回边界接口,或将边界接口作为参数传给公共API。
2 学习型测试
3 使用不存在的代码:使用ADAPTER模型,制定自己关注的接口形式,适配真实情况。
结论:
如何获得整洁的边界:
1 之前MAP的操作,包住他,委托他。
2 使用adpter模型,适配他的变化。