Возьмем в качестве примера синтаксис Java, хотя сам вопрос не зависит от языка. Если следующий фрагмент кода принимает объект MyAbstractEmailTemplate
в качестве входного аргумента в методе setTemplate
, класс MyGateway
будет тесно связан с объектом MyAbstractEmailTemplate
, что уменьшает возможность повторного использования класса MyGateway
.
Компромисс - использовать внедрение зависимостей, чтобы облегчить создание экземпляра MyAbstractEmailTemplate
. Это может решить проблему связи
в некоторой степени, но интерфейс по-прежнему жесткий, вряд ли обеспечивает достаточную гибкость
другие разработчики / приложения.
Таким образом, если мы используем только примитивный тип данных (или даже простой XML в веб-сервисе) в качестве ввода / вывода метода, кажется, что проблема связи больше не существует. Так что ты думаешь?
public class MyGateway {
protected MyAbstractEmailTemplate template;
public void setTemplate(MyAbstractEmailTemplate template) {
this.template = template;
}
}