MVC, WCF, EF, LINQ - แค่ฉันเหรอ? [ปิด]


17

... หรือสิ่งต่าง ๆ มีความซับซ้อนมากขึ้น?

สำหรับฉันดูเหมือนว่าคุณจำเป็นต้องรู้หลายสิ่งหลายอย่างในการ 'พัฒนา' แอป MS web ให้เหมาะสมในทุกวันนี้ ในวันที่ไม่ดีเมื่อเราไม่รู้ว่ามีอะไรดีกว่านี้เรามีตารางฐานข้อมูล ASP.NET, ADO.NET และคุณสร้างเว็บแอปโดยใช้แนวคิดที่เรียบง่าย

ทุกวันนี้ดูเหมือนจะมีกรอบมากมายที่จะ 'ช่วย' คุณทำถูกต้อง แต่ฉันไม่เชื่อว่านี่จะทำให้ง่ายขึ้นและดีขึ้น ฉันมีความรู้สึกฉันจะเป็นคนกลุ่มน้อยที่มีความรู้สึกเช่นนี้ แต่มีใครอีกบ้างที่คิดว่าสิ่งต่าง ๆ เป็นบ้าไปหน่อย?


MVC = ASP.Net, WCF = บริการเว็บ +. Net Remoting, EF = ADO.Net, Linq ถูกแทนที่ด้วยลูป foreach บางตัว ขณะนี้มีหลายเฟรมเวิร์คเหมือน แต่ก่อน
vortexwolf

จอห์นฉันต้อง 'เห็นด้วย' บางส่วนกับคุณ ขณะนี้ฉันกำลังแปรงทักษะ. Net ของฉันอย่างแน่นอนมากขึ้นที่จะผ่านไปกว่า 5 ปีที่ผ่านมา
TeaDrinkingGeek

ในขณะที่อาจมีเทคโนโลยี DB จำนวนมากในเวที MS คำถามนี้เป็นหัวข้อนอกไซต์จริงๆ มันไม่ได้ถามคำถามเลยและตกลงไปที่ "... ห่วยฉันใช่มั้ย" หมวดหมู่พูดจาโผงผางอยู่ในคำถามที่พบบ่อย
Walter

คำตอบ:


17

ทุกสิ่งเหล่านั้นเป็นตัวเลือกใช้พวกมันถ้ามันมีประโยชน์ไม่ใช่ถ้าไม่ใช่ มันง่ายอย่างที่คิด แน่นอนคุณสามารถเขียนแอปพลิเคชันเว็บที่ดี / เหมาะสมโดยไม่มีคำย่อใด ๆ ในโซลูชันของคุณ

โดยส่วนตัวแล้วฉันมักจะพบว่า MVC เป็นเฟรมเวิร์คที่เบาและใช้งานง่าย (เริ่มต้นได้ง่ายกว่าเว็บฟอร์ม, imo) ในทำนองเดียวกัน LINQ ยังมีวิธีการสืบค้นข้อมูลทั่วไป ดีเหมือนกัน. EF และ WCF และฉันมีความขัดแย้งของเรา แต่เมื่อเป็นกรณีนี้ฉันไม่ได้ใช้ 'em


2
+1 เมื่อ 'ใช้พวกเขาหากพวกเขามีประโยชน์' ฉันพยายามใช้กฎพยายามทำ 1 สิ่ง 'ใหม่' ในทุกโครงการ หลังจากผ่านไปสักพักคุณจะได้สัมผัสกับสิ่งต่าง ๆ มากมายและดูว่าสิ่งต่าง ๆ จะง่ายขึ้นเมื่อคุณใช้มันมากขึ้น
Jan_V

+1 ถึงคุณเช่นกันสำหรับ 'ลองทำสิ่งใหม่ 1 รายการในทุกโครงการ' ฉันชอบการเรียนรู้และเติบโตเช่นกัน
พอล

1
ฉันพยายามที่จะทำสิ่งใหม่ 1 ในทุกโครงการ แต่ที่ปกติจะเป็นเพราะสิ่งที่ผมได้เรียนรู้ใหม่โครงการสุดท้ายคือขณะนี้ล้าสมัย :)
gbjbaanb

9

ไม่ไม่ได้จริงๆ LINQ เป็นสิ่งที่ยิ่งใหญ่ที่สุดนับตั้งแต่ขนมปังหั่นบางส่วนเมื่อมีปฏิสัมพันธ์กับฐานข้อมูล

สิ่งที่คุณควรจำไว้คือสิ่งเหล่านี้สร้างขึ้นจากสิ่งอื่น LINQ ไม่ได้เพิ่มจำนวนของสิ่งที่คุณต้องรู้ในการพัฒนาเว็บไซต์ ASP.NET เพราะตอนนี้คุณไม่จำเป็นต้องรู้ SQL และ LINQ คือ OO ซึ่งอยู่ในแนวเดียวกันกับการพัฒนาแอปพลิเคชั่นอย่างสม่ำเสมอซึ่งทำให้ shitton ที่สมบูรณ์ง่ายกว่า SQL และง่ายต่อการรวมเข้ากับ C #

หากคุณไม่คิดว่า LINQ ง่ายกว่า SQL บางทีคุณควรโพสต์ตัวอย่างของสิ่งที่ยากขึ้นในกระบวนทัศน์ใหม่

ที่สำคัญกว่านั้นเว็บไซต์ก่อนหน้านี้มีฟังก์ชันการทำงานน้อยลง คุณจะสร้างเว็บไซต์ใหม่ที่ทำงานได้ดีขึ้นปรับขนาดให้ดีขึ้นและนำเสนอฟังก์ชั่นใหม่ ๆ ในรหัสเดียวกันได้อย่างไร


4
การเข้าร่วมที่เหลือใน LINQ นั้นยากกว่าใน SQL นอกจากนี้หากคุณกำลังพยายามแก้ไขปัญหาฐานข้อมูลคุณจะต้องดู SQL ต่อไป นอกจากนี้การรู้จัก SQL จะช่วยคุณถ้าคุณต้องการย้ายไปยังแพลตฟอร์มการพัฒนาที่ไม่ใช่ของ Microsoft
btilly

10
ไม่มีกรอบ ORM ที่ทรงพลังเท่ากับ SQL มีคำสั่งที่ฉันต้องดำเนินการที่ไม่เป็นไปไม่ได้ที่จะทำในกรอบ ORM
bit-twiddler

1
@ bit-twiddler> ใช่และนั่นคือสาเหตุที่เฟรมเวิร์ก ORM ส่วนใหญ่อนุญาตให้คุณรัน SQL ดิบ (หรือ sprocs) ได้เช่นกัน คุณสามารถมีคน C # ที่ดีเขียนแบบสอบถามของคนเดินเท้าส่วนใหญ่และผู้เชี่ยวชาญด้าน DB เช่นคุณสามารถจัดเก็บสิ่งที่ยากสำหรับพวกเขาในรูปแบบ sproc หรือมุมมอง
พอล

1
ในขณะที่ฉันออกแบบฐานข้อมูลขนาดใหญ่และเขียน SQL ฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ SQL ฉันไม่ใช่ DBA ฉันเป็นวิศวกรซอฟต์แวร์ ฉันไม่เคยทำงานที่ไหนที่นักพัฒนาซอฟต์แวร์ที่มีความชำนาญ ในวันใดวันหนึ่งฉันอาจเขียนโค้ดในภาษาแอสเซมบลี C, C ++, Java, Object Pascal, PL / SQL หรือ Intel (ฉันไม่นับ HMTL, XML, และ CSS เป็นภาษาการเขียนโปรแกรม ฉันบำรุงรักษาชุดเครื่องมือของตัวเองและสภาพแวดล้อมการทดสอบที่ใช้ Tomcat เช่นกัน (ทุกคนในทีมของฉันมีเซิร์ฟเวอร์ Tomcat ของตัวเอง)
bit-twiddler

1
เขียน LINQ เพื่อโต้ตอบกับฐานข้อมูล (LINQ-to-SQL, LINQ-to-Entities) โดยไม่ทราบว่า SQL ... ? สูตรสำหรับภัยพิบัติ.
Kirk Broadhurst

3

หากแนวคิดแบบเก่าที่คุณกล่าวถึงไม่ได้ผลอีกต่อไปฉันจะยอมรับว่ามันจะบ้า แต่กรอบงานที่ใหม่กว่านั้นเป็นทางเลือก การยอมรับคนตาบอดจะเป็นบ้า คุณจำเป็นต้องปรับ ส่วนตัวแล้ว SQL ในตัวมันไม่ใช่ปัญหาสำหรับฉัน การพยายามเพิ่มฟังก์ชั่นการใช้งานของเว็บไซต์ที่ทันสมัยบางอย่างเว็บฟอร์มไม่ได้ตัดอีกต่อไป

ฉันแน่ใจว่าผู้ใช้ ASP แบบคลาสสิคบางคนรู้สึกแบบเดียวกันกับ. NET แต่มีเพียงไม่กี่คนที่สามารถโต้แย้งได้ ฉันสร้างสองไซต์ใน ASP คลาสสิกและจะไม่กลับไป


2

"บ้าไปแล้ว" นั่นคือวิธีที่ฉันจะอธิบายDataSetโซลูชัน ADO.NET และ ASP.NET :)

ฉันเห็นด้วยว่ามีอะไรอีกมากมายให้เรียนรู้ แต่กรอบงานแต่ละข้อที่คุณพูดถึงทำให้การพัฒนา. NET ดีขึ้น


0

ฉันจะบอกว่านี่เป็นปัญหาระดับโลกซึ่งอาจส่งผลกระทบต่อทุกกรอบงานหรือแพลตฟอร์ม (นักพัฒนา) เมื่อมีการปล่อยเฟรมเวิร์กใหม่มักจะมีขนาดเล็กและกะทัดรัด แต่เมื่อเวลาผ่านไปคุณลักษณะใหม่ / ฟังก์ชั่นการทำงาน / API รวมอยู่ด้วย (ไม่ว่าจะเป็นแผนงาน / คำขอแนวคิดใหม่ / แนวโน้ม / เทคโนโลยีหรือวิวัฒนาการโดยง่าย) คุณเริ่มต้นด้วย "วิธีหนึ่งในการทำสิ่งต่าง ๆ " และตอนนี้ก็มีความเป็นไปได้มากกว่าที่คุณสามารถเลือกได้ (และ - คุณไม่รู้ / ไม่แน่ใจ - อันไหนให้เลือก) อาจใช้เวลานานในการเรียนรู้สิ่งใหม่ ๆ แต่พวกเขาสามารถเสนอวิธีแก้ปัญหาที่ยืดหยุ่น / เร็วขึ้น / ดีขึ้นให้คุณมากขึ้นสำหรับปัญหาเดียวกันซึ่งก่อนหน้านี้ได้รับการแก้ไขด้วยชุดตัวเลือกที่ จำกัด

ฉันเคยสะดุดกับคำพูดตลก ๆ - "รหัสทั้งหมดกลายเป็น s #! t ให้เวลาและมือที่เพียงพอ" - ซึ่ง IMHO สรุปว่าทำไมสิ่งใหม่ ๆ ภายในกรอบที่มีอยู่ควรโผล่ออกมาเพื่อนำความคิดใหม่มาสู่การปฏิบัติและทำวิวัฒนาการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.