8
我正在关注spring tutorial。今年春季教程中的糟糕做法?
在第一个接口创建ProductManager
“3.2添加一些类业务逻辑。”:
package springapp.service;
import java.io.Serializable;
import java.util.List;
import springapp.domain.Product;
public interface ProductManager extends Serializable{
public void increasePrice(int percentage);
public List<Product> getProducts();
}
然后,SimpleProductManager
实现类创建:
package springapp.service;
import java.util.List;
import springapp.domain.Product;
public class SimpleProductManager implements ProductManager {
public List<Product> getProducts() {
throw new UnsupportedOperationException();
}
public void increasePrice(int percentage) {
throw new UnsupportedOperationException();
}
public void setProducts(List<Product> products) {
throw new UnsupportedOperationException();
}
}
实现类增加了额外的方法setProducts()
。如果接口ProductManager
也不具有setProducts
方法以允许使用setProducts
以多态方式实例化SimpleProductManager
的类。目前,这是不可能的 -
ProductManager p = new SimpleProductManager();
p.setProducts();