İki paradigma arasında seçim yapmak zorunda değilsiniz. Birçok işlevsel kavram kullanarak OO mimarisi ile yazılım yazabilirsiniz. FP ve OOP doğada diktir .
Örneğin C # örneğini ele alalım. Çoğunlukla OOP diyebilirsiniz, ancak birçok FP kavramı ve yapısı vardır. Linq'i düşünürseniz , Linq'in var olmasına izin veren en önemli yapılar doğada işlevseldir: lambda ifadeleri .
Başka bir örnek, F #. Çoğunlukla FP olduğunu söyleyebilirsiniz, ancak birçok OOP kavramı ve yapısı vardır. Sınıfları, soyut sınıfları, arayüzleri tanımlayabilir, kalıtımla başa çıkabilirsiniz. Değiştirilebilirliği, kodunuzu daha net hale getirdiğinde veya performansı önemli ölçüde artırdığında da kullanabilirsiniz.
Birçok modern dil çok paradigmadır.
Önerilen okumalar
Aynı teknede olduğum için (OOP arka planı, FP öğrenimi), size gerçekten takdir ettiğim bazı okumalar öneririm: