ข้อสงวนสิทธิ์แรก: ฉันไม่รู้จริงๆว่าคำถามนี้เหมาะกับเว็บไซต์นี้หรือไม่ แต่ฉันก็ยังพบว่าเป็นคำถามที่เกี่ยวข้องไม่ใช่เฉพาะกับฉัน แต่สำหรับคนอื่น ๆ ที่เป็นผู้เริ่มต้น หากคำถามสามารถปรับปรุงให้เหมาะกับที่นี่โปรดชี้ให้เห็นความคิดเห็น int หากมันไม่พอดีโปรดแจ้งให้ฉันทราบด้วยและหากเป็นไปได้โปรดแจ้งให้เราทราบว่าสามารถพูดคุยเรื่องนี้ได้ที่ไหนเพราะฉันไม่พบฟอรัมที่ดีสำหรับเรื่องนี้
ฉันเรียนรู้ที่จะเขียนโปรแกรมในปี 2009 เมื่อฉันเรียน PHP ต่อมาในปี 2012 ฉันย้ายไปที่ C # และ. NET อย่างไรก็ตามการเขียนโค้ดไม่ใช่ปัญหาการจดอัลกอริธึมไม่ใช่ปัญหาของฉัน ปัญหาที่เกิดขึ้นจริงของฉันคือการรู้ว่าสิ่งที่จะต้องมีการเข้ารหัสเพื่อให้บรรลุความต้องการและการที่มันจะต้องมีการเข้ารหัส
หลักสูตรส่วนใหญ่ที่มีอยู่บนเว็บจัดการวิธีการเขียนโค้ดในภาษาบางภาษาวิธีใช้ API บางชุด ฯลฯ นั่นไม่ใช่ประเด็นของฉันที่นี่
ในปีที่ผ่านมาฉันได้อ่านสิ่งต่างๆมากมาย: การวิเคราะห์และออกแบบเชิงวัตถุรูปแบบการออกแบบการออกแบบโดยใช้โดเมนเป็นต้น ฉันเข้าใจตัวอย่างเช่นหลักการ SOLID แนวคิดหลักบางประการของ DDD เช่นความจำเป็นในการมีส่วนร่วมของผู้เชี่ยวชาญด้านโดเมนการพัฒนาภาษาที่แพร่หลายและอื่น ๆ ฉันจะกล้าพูดว่าฉันมีพื้นฐานทางทฤษฎีอย่างน้อยเหมาะสม
แต่เมื่อพูดถึงการฝึกฝนฉันรู้สึกว่าฉันเป็นหายนะ เมื่อไม่นานมานี้ฉันจำเป็นต้องพัฒนาระบบการเงินที่ถูกพัฒนาโดยบุคคลอื่นต่อไป มันเป็น "ระบบเก่า" ที่พัฒนาด้วย C # และ WinForms นี่เป็นครั้งแรกที่ฉันเลือกโครงการที่มีความซับซ้อนของโดเมนจริงด้วยกฎเกณฑ์ทางธุรกิจมากมายและอื่น ๆ
ฉันยอมรับว่าเมื่อฉันได้รับข้อกำหนดเกือบตลอดเวลาฉันคิดว่า "จะทำอย่างไรในโลกนี้?" - ฉันไม่มีความคิดเกี่ยวกับวิธีการเริ่มต้นทำงานกับข้อกำหนดเพื่อหาว่าต้องทำอะไร ความสับสนหลักของฉันฉันเชื่อว่าเป็นสิ่งที่ฉันต้องเขียนรหัสคลาสอินเทอร์เฟซและตำแหน่งของแต่ละชิ้นของตรรกะไปซึ่งสิ่งที่แต่ละชั้นจะต้องเป็น ปัญหาคือฉันไม่รู้ว่าจะเริ่มจากตรงไหน
เกือบทุกครั้งที่มีความคิดค่อนข้างมากฉันจะจบลงด้วยความคิดบางอย่าง แต่ฉันไม่เคยรู้วิธีที่จะตัดสินว่าความคิดของฉันถูกต้องหรือไม่
ฉันหมายความว่าฉันไม่คิดว่านี่เป็นทฤษฎีที่ขาดไปเนื่องจากฉันบอกว่าฉันอ่านเกี่ยวกับสถาปัตยกรรมซอฟต์แวร์และการวางแนววัตถุที่ฉันแนะนำ แต่ก็ไม่ได้ช่วยอะไรมากในการระบุสิ่งที่ต้องทำในทางปฏิบัติ .
ดังนั้นวิธีที่ฉันสามารถเรียนรู้ที่จะจริงๆ ทำออกแบบเชิงวัตถุ? สิ่งที่ฉันต้องการเรียนรู้คือ: ข้อกำหนดที่กำหนดรู้วิธีเริ่มต้นทำงานกับพวกเขาในกระบวนการที่นำไปสู่การค้นหาสิ่งที่ต้องทำและตำแหน่งของรหัสแต่ละชิ้น ฉันจะเรียนรู้ที่จะตัดสินได้อย่างไรว่าความคิดของฉันถูกต้องหรือไม่?
ฉันเชื่อว่าการอธิบายเรื่องนี้อย่างครบถ้วนเป็นคำตอบที่นี่จะเป็นไปไม่ได้ อย่างไรก็ตามสิ่งที่ฉันกำลังมองหาซึ่งอาจเป็นไปตามสไตล์ของไซต์คือคำตอบเพียงแค่ให้ภาพรวมและชี้การอ้างอิง (หนังสือหลักสูตรออนไลน์ ฯลฯ ) ที่สามารถใช้เพื่อขยายแนวคิดและเรียนรู้สิ่งเหล่านี้จริงๆ