Isn't the visitor pattern just a way to implement type switch in languages
that don't implement type switch?

That's certainly how I saw it when using C++. Go has a type switch, and so
has no need for the visitor pattern, a perfect example of the principle
that a design pattern is just a way to work around shortcomings in the
language.

-rob


On Thu, Feb 8, 2018 at 2:14 PM, Josh Humphries <jh...@bluegosling.com>
wrote:

> FWIW, it looks like someone else has gone through this exercise:
> https://github.com/tmrts/go-patterns
>
> ----
> *Josh Humphries*
> jh...@bluegosling.com
>
> On Fri, Feb 2, 2018 at 12:03 PM, <matthewju...@gmail.com> wrote:
>
>> I’m looking at patterns summarized on Wikipedia from “Design Patterns:
>> Elements of Reusable Object-Oriented Software” and writing out a few as the
>> equivalent in Go.
>>
>> Visitor: https://play.golang.org/p/A5tNzxMmetH
>>
>> Abstract Factory: https://play.golang.org/p/SWwuX49eysd
>>
>> Factory Method: https://play.golang.org/p/FRgDBx2CLFf
>>
>> Facade: https://play.golang.org/p/forPdwy9VCi
>>
>> Proxy: https://play.golang.org/p/DFWuDPTOzEP
>>
>> I’m curious how more experienced people rank these and the other patterns.
>>
>> Matt
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to