İlk olarak bir feragatname: Bu sorunun bu web sitesine uyup uymadığını bilmiyorum, ama yine de sadece benim için değil, yeni başlayanlar için de alakalı bir soru buluyorum. Soru buraya uyacak şekilde geliştirilebiliyorsa, lütfen int yorumlarına dikkat edin. Uygun değilse, bana da bildirin ve mümkünse bunun nerede tartışılabileceğini bana bildirin, çünkü bunun için iyi bir forum bulamadım.
PHP eğitimi aldığım 2009 yılında programlamayı öğrendim. Daha sonra 2012'de C # ve .NET'e geçtim. Her neyse, kodlama sorun değil, algoritmaları yazmak benim sorunum değil. Asıl sorun, bir gereksinimi elde etmek için neyin kodlanması gerektiğini ve nerede kodlanması gerektiğini bilmek .
İnternet üzerinde mevcut orada çoğu kursları mücadele how - nasıl yazma koduna belirli bir dilde vb API'ler, bazı setleri nasıl kullanılacağı Burada değil benim açımdan bu.
Bu yıllarda bir çok şey hakkında çok şey okudum: nesne yönelimli analiz ve tasarım, tasarım kalıpları, etki alanına dayalı tasarım vb. Örneğin, SOLID ilkelerini, DDD'nin bazı temel alanlarını, alan uzmanlarının katılımı, her yerde kullanılabilen bir dilin geliştirilmesi gibi bir şey gibi anlıyorum. En azından makul bir teorik arkaplan olduğumu söylemeye cesaret edebilirim .
Fakat uygulama söz konusu olduğunda felaketmişim gibi hissediyorum. Bir süre önce başka biri tarafından geliştirilen bir finansal sistemin geliştirilmesine devam etmem gerekiyordu. C # ve WinForms ile geliştirilen bu tür "eski sistem". İlk kez gerçek alan karmaşıklığı olan, birçok iş kuralına sahip bir proje seçtim.
İtiraf ediyorum ki çoğu zaman gereksinimleri aldığımda "bu nasıl yeryüzünde yapılabilir?" - Ne yapılması gerektiğini anlamak için gereksinimler üzerinde çalışmaya nasıl başlayacağım konusunda hiçbir fikrim yok. Benim ana kafa karışıklıklarım, neyi kodlamam gerektiği, hangi sınıflar, arayüzler ve her bir mantık parçasının nereye gittiği, her şeyin hangi sınıfta olması gerektiğidir. Sorun şu ki, nereden başlayacağımı bilmiyorum.
Çoğu zaman, oldukça fazla düşünce ile bazı fikirlerle sonuçlanırım, ancak fikrimin doğru olup olmadığını nasıl yargılayacağımı asla bilemiyorum.
Demek istediğim, yazılım mimarisi ve nesne yönelimi hakkında bir sürü şey okuduğumu söylediğim gibi, bunun teorik bir eksiklik olduğunu düşünmüyorum ama pratikte neler yapılması gerektiğini belirlemede çok yardımcı olmadı .
Peki nasıl öğrenebilirim gerçekten yapmak nesne yönelimli tasarım? Ne öğrenmek istiyorum: verilen gereksinimleri, ne yapılması gerektiğini ve her bir kod parçasının ait olduğunu bulmaya yol açan bir süreçte nasıl çalışmaya başlayacağını bilmek. Fikrimin doğru olup olmadığını yargılamayı nasıl öğrenebilirim?
Bunu tam olarak burada bir cevap olarak açıklamanın mümkün olmayacağına inanıyorum. Bununla birlikte, site stiline göre olabileceğim, sadece bir genel bakış veren ve fikirleri genişletmek ve gerçekten bu şeyleri öğrenmek için kullanılabilecek bazı referansları (kitaplar, çevrimiçi kurslar, vb.)