跨层的API不好重用

这是老生常谈。但有时候你在争论时有可能一时间举不出任何例子,所以这里就写一个例子来阐述这个简单的道理。

比如说,网页上某表单的输入校验中引用了Session中的对象,在Servlet环境中这没问题;但有一天,客户要求提供一个Web Service,实现这个表单相同的功能,那就没办法重用这段校验代码,因为Web Service里找不到也不需要这个Session对象。

深入一点,可以说:

    每个API都有个核心逻辑,这个逻辑的性质决定了它应处的层次;如果这个API引用该层次的上一层(比如Service引用了Session),那这个API就没办法重用;但如果它引用的是下一层(比如Service引用了DAO),那它的重用性就不受影响。

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.