Иногда при использовании Чистая архитектура необходимо создать то, что я называю «тупым сквозным объектом», которое просто делегирует входящие методы другому объекту следующим образом:
struct FetchItemInteractor: FetchItemInteractorInput {
var output: FetchItemInteractorOutput!
func getCount() -> Int {
output.getCount()
}
func fetchItems() -> [Date] {
output.fetchItems()
}
}
.. .это поддерживает разделение и последовательность многоуровневой архитектуры. К сожалению, это код с низким значением, который требует много времени и подвержен ошибкам при наборе и тестировании.
Есть ли способ использовать функции среды выполнения Swift или языка для создания объектов такого типа с минимумом кода?