Плохая практика в этом весеннем уроке?

Я следую учебнику Spring .

В разделе «3.2. Добавление классов для бизнес-логики» создается интерфейс ProductManager :

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 getProducts();

}

Затем создается класс реализации SimpleProductManager :

package springapp.service;

import java.util.List;

import springapp.domain.Product;

public class SimpleProductManager implements ProductManager {

    public List getProducts() {
        throw new UnsupportedOperationException();
    }

    public void increasePrice(int percentage) {
        throw new UnsupportedOperationException();        
    }

    public void setProducts(List products) {
        throw new UnsupportedOperationException();        
    }

}

Класс реализации добавляет дополнительный метод setProducts () . Если интерфейс ProductManager также не имеет метода setProducts , позволяющего классам, использующим setProducts , создавать экземпляры SimpleProductManager полиморфно). В настоящее время это невозможно -

ProductManager p = new SimpleProductManager();
p.setProducts();

8
задан skaffman 8 January 2012 в 19:46
поделиться