Merhabalar.
Moduler uygulama geliştirme ve bu konuya ait mimarileri inceliyorum. Basit bir iskelet oluşturdum(anlamsız sınıfların birbirleriyle etkileşimleri). Fakat anladığım kadarıyla moduler bir uygulama geliştirmek öyle sanıldığı kadar kolay değil ve çözülmesi gereken bir çok problem barındıran bir konu. Benim bu iskelet üzerinde yapmaya çalıştığım şey hiç bir modül bir diğerinin varlığından haberdar olmadan çalışabillmesini sağlama yönündeydi.
Symfony ile geliştirilmiş açık kaynaklı uygulamalarını inceliyorum. Bu uygulamaların bazılarında her bir alan moduler bir şekilde geliştirilmiş. Bu moduller arasında ki iletişim Event Listener veya Event Subscriber ile gerçekleştirilmiş. Buraya kadar bir çok kısmı anladım.
Fakat hala daha aklıma yatmayan yerler var.
Listener,Subscriber gibi bir yapıyla modulerlik ne derecede sağlanabilir?
Özellikle gibi bir alanda filtre işlemleri için başka teknolojiler(elastic) kullanmak gerektiğinde ne derece modulerlik sağlanabilir?
Bazı moduller içerik olarak diğer modullere daha geniş bir kapsama sahip olacaktır. Bu durumunda modulerliğin yapısına zarar vermez mi? Bunu daraltmalımıyız? Ne kadar daraltabiliriz? Daraltma neye göre yapılmalı? Nelere dikkat edilmeli?
Listener,Subscriber dışında uygulanabilecek çözümler nelerdir?
Mutlak bir şekilde hiç bir modul birbirinin var olup olmadığını bilmeli mi? Bilmeliyse ne derecede?
Modulerliği sağlamak için composer ile paket yönetimi mi yapılmalı? Uygulama içerisinde modules adında bir dizin altında tutularak da bu gerçekleştirilebilir mi bunun bir dez avantajı var mıdır?
Moduler bir uygulama ile başlayıp sonu monolithic bir uygulama da son bulma ihtimali nedir?
Eğer bildiğiniz veya elinizde olan kaynaklar var ise iletmenizi çok isterim. İnternette ki bir çok yazıyı okudum. Burada ki bazı soruların cevaplarına da eriştim fakat farklı kişilerinde yorumlarını merak ediyorum.
Zaman ayırdığınız için teşekkür ederim.