Bir OOP geçmişinden (Java) geliyor, kendi başıma Scala öğreniyorum. Değişken nesneleri tek tek kullanmanın avantajlarını kolayca görebilsem de, birinin böyle bir uygulamanın tamamını nasıl tasarlayabildiğini görmekte zorlanıyorum. Bir örnek vereceğim:
Diyelim ki su ve buz gibi "materyalleri" ve onların özelliklerini temsil eden nesnelerim var (bir oyun tasarlıyorum, bu yüzden gerçekten bu problemim var). Tüm bu malzeme örneklerine sahip bir "yönetici" olurdu. Bir özellik donma ve erime noktası ve malzemenin donma veya erime noktasıdır.
[EDIT] Tüm maddi örnekler "singleton" dur, Java Enum gibi.
0C'de "buz" a donmasını söylemek için "su" ve 1C'de "suya" erir demek için "buz" demek istiyorum. Ancak su ve buz değişmezse, yapıcı parametreleri olarak birbirlerine referans alamazlar, çünkü bunlardan biri önce yaratılmalıdır ve biri henüz mevcut olmayan diğerine yapıcı parametresi olarak referans alamaz. Her ikisini de donma / eritme özellikleri istendiğinde ihtiyaç duydukları diğer malzeme örneğini bulmak için sorgulayabilmeleri için yöneticiye bir referans vererek bunu çözebilirim, ancak daha sonra yönetici arasında aynı sorunu alıyorum ve birbirlerine referansta bulunmaları gereken materyaller, fakat sadece bunlardan biri için yapıcıda sağlanabilir, böylece yönetici veya malzeme değişmez olamaz.
Bu sorun etrafında sadece bir yolu yok, ya da "fonksiyonel" programlama teknikleri ya da çözmek için başka bir desen kullanmam gerekiyor mu?
h2o
malzeme var