Note that there are some explanatory texts on larger screens.

plurals
  1. POwhich GOF Design pattern(s) has entirely different implementation (java vs Scala)
    primarykey
    data
    text
    <p>Recently I read following SO question : </p> <blockquote> <p>Is there any use cases for employing the Visitor Pattern in Scala? Should I use Pattern Matching in Scala every time I would have used the Visitor Pattern in Java?</p> </blockquote> <p>The link to the question with title: <a href="https://stackoverflow.com/questions/8618082/visitor-pattern-in-scala">Visitor Pattern in Scala</a>. The accepted answer begins with</p> <blockquote> <p>Yes, you should probably start off with pattern matching instead of the visitor pattern. See this <a href="http://www.artima.com/scalazine/articles/pattern_matching.html" rel="nofollow noreferrer">http://www.artima.com/scalazine/articles/pattern_matching.html</a></p> </blockquote> <p>My question (inspired by above mentioned question) is which GOF Design pattern(s) has entirely different implementation in Scala? Where should I be careful and not follow java based programming model of Design Patterns (Gang of Four), if I am programming in Scala?</p> <p><strong>Creational patterns</strong></p> <ul> <li>Abstract Factory</li> <li>Builder</li> <li>Factory Method</li> <li>Prototype</li> <li>Singleton : <em>Directly create an Object (scala)</em></li> </ul> <p><strong>Structural patterns</strong></p> <ul> <li>Adapter</li> <li>Bridge</li> <li>Composite</li> <li>Decorator</li> <li>Facade</li> <li>Flyweight</li> <li>Proxy</li> </ul> <p><strong>Behavioral patterns</strong></p> <ul> <li>Chain of responsibility</li> <li>Command</li> <li>Interpreter</li> <li>Iterator</li> <li>Mediator</li> <li>Memento</li> <li>Observer</li> <li>State</li> <li>Strategy</li> <li>Template method</li> <li>Visitor : <em>Patten Matching (scala)</em></li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload