Улучшение сцепления штампов
Я изучаю программирование в своем колледже Stamp Coupling. Мы учимся системному анализу и дизайну. Мой одноклассник задал мне вопрос, как решить Stamp Coupling? Я спрашиваю Учителя, который сказал: "Используйте интерфейс для ограничения доступа со стороны клиентов", но я все еще неправильно понимаю.
1 ответ
Решение
Ну, поскольку метод печати требует только имя, адрес и платежную информацию Клиента, вам не нужно ничего передавать ему.
Вы можете определить интерфейс:
public interface PrintableCustomer
{
public ... getName();
public ... getAddress();
public ... getBillingInfo();
}
Теперь позвольте Customer
реализовать класс PrintableCustomer
,
Метод печати теперь может принимать PrintableCustomer
вместо Customer
,
void print (PrintableCustomer customer)
{
...
}
Сейчас print()
видит только те свойства, которые ему нужны.