<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><blockquote type="cite" class="">On May 25, 2017, at 9:26 PM, Hooman Mehr via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""></blockquote><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">This is common when you are using&nbsp;façade design pattern. You use a&nbsp;façade&nbsp;to flatten and hide the internal composition of a composite object and present it as a single flat object. In some types of projects this comes up rather frequently. Both in client / UI programming and server side / business logic.</div></div></blockquote><br class=""></div>You know, what I would like to see instead of this would be a revival of the ‘automatic protocol forwarding’ concept that was pitched here very early on in the swift-evolution process:<div class=""><br class=""></div><div class=""><a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151228/004737.html" class="">https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151228/004737.html</a></div><div class=""><br class=""></div><div class="">This would be a much more flexible way to solve the same problem, and could also solve some problems that we used to use methods like forwardingTargetForSelector: for in Objective-C.</div><div class=""><br class=""></div><div class="">Charles</div><div class=""><br class=""></div></body></html>