Улучшение сцепления штампов

Я изучаю программирование в своем колледже Stamp Coupling. Мы учимся системному анализу и дизайну. Мой одноклассник задал мне вопрос, как решить Stamp Coupling? Я спрашиваю Учителя, который сказал: "Используйте интерфейс для ограничения доступа со стороны клиентов", но я все еще неправильно понимаю.

1 ответ

Решение

Ну, поскольку метод печати требует только имя, адрес и платежную информацию Клиента, вам не нужно ничего передавать ему.

Вы можете определить интерфейс:

public interface PrintableCustomer
{
    public ... getName();
    public ... getAddress();
    public ... getBillingInfo();
}

Теперь позвольте Customer реализовать класс PrintableCustomer,

Метод печати теперь может принимать PrintableCustomer вместо Customer,

void print (PrintableCustomer customer)
{
    ...
}

Сейчас print() видит только те свойства, которые ему нужны.

Другие вопросы по тегам