2010-02-05 21 views
11

Bir haftadan beri Scala'da Programlama okuyorum. Yazarlar, adım adım öğelerin özelliklerini tanıtırlar, ancak aktörler, kapaklar, köriler, vb. Gibi fonksiyonel şeyleri ne zaman kullanacakları konusunda hala şaşkınım.Scala İşlevsel Tasarım Kalıpları Kataloğu

Tipik kullanım durumları için bir katalog arıyorum. İşlevsel düzenlemeler için en iyi uygulamalar.

Ben kapanışları kullanabilir veya tımar sınıflarını ne zaman kullanılacağı konusunda kafası karışık olmak gibi ne zaman konusunda kafası karışık olan

cevap

8

gibi Scala GoF gibi tanınmış desen reimplementing anlamına gelmez. Onlar sadece dilin bir parçası ve onu koyduğunuz herhangi bir göreve hizmet ediyorlar. OO ilk kez ana akımlara ulaştığında, aynı soruya sınıflar sorulmuştur.

Aktörlere gelince, onlar dağıtılmış bir programlama paradigmasıdırlar - ve sizler, dilin kendisinin bir parçası değiller. Eşzamanlılıktan yararlanmak istediğinizde kullanılırlar ve uygulamanızın eşzamanlı süreçler arasında durumu paylaşması gerekmediği gibi, esas olarak paralel işlemeye yöneliktir.

+1

Muhtemelen haklısınız, OO'yu tanıyorum ve cevabınızı anlıyorum. OO için miras veya toplama ne zaman kullanılacağını sorabilirdim, ne zaman bir arayüze sahip olmalıyım. Bu sorular için pek çok kaynak bulunacaktı, ancak hangi fonksiyonel kurgu ne zaman kullanılacağı hiç deneyimsiz. Bu konuların tartışılmasına yönelik bir bağlantı iyi olurdu. – stacker

+2

@stacker Bu kadarı doğru ve ben kendim, ne tavsiye edeceğimi bilmiyorum. Chris Okasaki'nin Küçük Şemali ve Mevsimlik Schemer gibi bazı kitapları, Chris Okasaki'nin ya da Tamamen Fonksiyonel Veri Yapıları tarafından bazılarına yardım edebilir. Ama Scala gibi bir şey yok. Örneğin, _option_'ın körelmesi oldukça nadirdir. Çoğu dilde, ya her şey köreliyor ya da hiçbir şey yok. Ve tabii ki, OO'nun karışımı bir yaklaşımı seçmeyi daha da zorlaştırıyor. –

+1

Bu yararlı siteyi buldum: http://scala.sygneca.com/code/start – stacker

İlgili konular