คำถามติดแท็ก crud

6
ความแตกต่างระหว่าง REST และ CRUD
ฉันเรียนรู้ REST และรู้สึกเหมือน CRUD (จากสิ่งที่ฉันอ่านเกี่ยวกับ CRUD) ฉันรู้ว่าพวกเขาแตกต่างกันและฉันสงสัยว่าการคิดว่าพวกเขาเหมือนกันหมายความว่าฉันไม่เข้าใจพวกเขา REST นั้นเป็น "superset" ของ CRUD หรือไม่? ทุกสิ่งที่ CRUD ทำและอื่น ๆ
168 rest  crud 

7
เป็นไปได้หรือไม่ที่ตรรกะทางธุรกิจจะไม่คืบคลานเข้ามาในมุมมอง?
ฉันได้พัฒนาโครงการเว็บแอพพลิเคชั่นหลายโครงการในช่วง 3 ปีที่ผ่านมาทั้งที่ทำงานส่วนตัวและที่ทำงานและฉันไม่สามารถคิดออกได้ว่าเป็นไปได้อย่างน้อยตรรกะทางธุรกิจบางอย่างที่ไม่สิ้นสุดในมุมมองของแอปพลิเคชัน ในกรณีส่วนใหญ่จะมีปัญหาเช่น "ถ้าผู้ใช้เลือกตัวเลือก x ดังนั้นแอปพลิเคชันจะต้องเปิดใช้งานเขาสามารถให้ข้อมูลสำหรับ y ถ้าไม่เช่นนั้น s / เขาควรจะให้ข้อมูล z" หรือดำเนินการ AJAX ซึ่งควรใช้การเปลี่ยนแปลงบางอย่างกับโมเดล แต่ไม่ยอมรับจนกว่าผู้ใช้จะร้องขออย่างชัดเจน นี่เป็นปัญหาที่ง่ายที่สุดที่ฉันพบและฉันไม่สามารถเข้าใจได้ว่าจะหลีกเลี่ยงตรรกะที่ซับซ้อนในมุมมองได้อย่างไร หนังสือส่วนใหญ่ที่ฉันได้อ่านอธิบาย MVC มักจะแสดงตัวอย่างเล็ก ๆ น้อย ๆ อย่างเช่นการดำเนินการ CRUD ที่เพิ่งอัปเดตข้อมูลบนเซิร์ฟเวอร์และแสดง แต่ CRUD ไม่ใช่กรณีของแอปพลิเคชันที่ร่ำรวยที่สุด เป็นไปได้ไหมที่จะมีมุมมองโดยไม่มีเหตุผลทางธุรกิจเลย?

8
มีตัวอย่างของวิธีการที่ไม่ใช่ CRUD หรือไม่?
ฉันเป็นโปรแกรมเมอร์ แต่ยังทำงานเป็นนักเก็บเอกสารด้วย ในฐานะที่เป็นผู้เก็บเอกสารสำคัญเป็นเรื่องเกี่ยวกับการเก็บข้อมูล ฉันมักจะมีข้อโต้แย้งกับเพื่อนร่วมงานเมื่อมันมาถึงการดำเนินการกับข้อมูล ฉันไม่ชอบ U และ D ใน CRUD มากเกินไป จากนั้นอัปเดตระเบียนฉันต้องการเพิ่มระเบียนใหม่และมีการอ้างอิงไปยังระเบียนเก่า วิธีที่คุณสร้างประวัติการเปลี่ยนแปลง ฉันไม่ชอบลบบันทึก แต่ทำเครื่องหมายว่าไม่ใช้งาน มีคำสำหรับสิ่งนี้หรือไม่? โดยพื้นฐานการสร้างและอ่านข้อมูลเท่านั้น? มีตัวอย่างของวิธีการนี้หรือไม่?

3
การค้นพบสำหรับนักพัฒนาเป็นปัญหาเมื่อใช้หลักการของ SOLID หรือไม่?
ฉันทำแอพทางธุรกิจที่นักพัฒนาคนอื่น ๆ ทั้งหมดคุ้นเคยกับการทำแอพพลิเคชั่น CRUD ขั้นพื้นฐานหรือมุ่งเน้นไปที่การสร้างอินเทอร์เฟซที่สวย / ใช้งานได้เพียงอย่างเดียว "ด้วยวิธีที่เราใช้ทำพนักงานจะมีทุกสิ่งที่คุณสามารถทำได้กับพนักงาน" และมันก็เป็นจริง "คลาส" นั้นมีโค้ดหลายพันบรรทัดและคุณสามารถทำอะไรกับพนักงานได้ หรือแย่กว่านั้นคือมีตารางข้อมูลพนักงานและผู้พัฒนาแต่ละคนคิดว่าจะทำอย่างไรในสิ่งที่พวกเขาต้องการทำในตัวจัดการเหตุการณ์ สิ่งเลวร้ายทั้งหมดเกี่ยวกับวิธีการดังกล่าวนั้นเป็นจริง แต่อย่างน้อยนักพัฒนาที่ใช้พนักงานสามารถทำได้โดยไม่ต้องไปที่เอกสารอื่น ๆ หาวิธีการลงทะเบียนพนักงานในแผนสุขภาพ สำหรับผู้จัดการและแนวคิดสำคัญอื่น ๆ ทั้งหมด หรือถ้าพวกเขาใช้พนักงานตารางข้อมูลอื่นที่จำเป็นก็สามารถทำได้ในสิ่งที่พวกเขาต้องการ ใช่มีรหัสซ้ำกันมาก ใช่มันเป็นรหัสที่เปราะบางมาก ใช่การทดสอบมันยากกว่าที่จำเป็น ใช่ฟังก์ชั่นการเปลี่ยนคือการกระตุ้นให้เกิดความกลัวและ Copy Paste นั้นเป็นเรื่องปกติเนื่องจากวิธีการ แต่อย่างน้อยพวกเขาสามารถค้นพบสิ่งที่มีอยู่โดยการสร้างชั้นหนึ่งหรือพวกเขาสามารถทำสิ่งที่พวกเขาต้องทำโดยไม่ต้องเข้าใจความแตกต่างระหว่างอินเทอร์เฟซคลาสนามธรรมคลาสรูปธรรมเป็นต้นและพวกเขาไม่ต้องค้นหาอะไรอื่นนอกจาก เมธอดที่ส่งคืนโดยระบบภายในหรือรู้ตารางที่มีข้อมูลอยู่ ฉันได้ทำ googled / binged และ yahoo! d แล้ว แต่ฉันไม่พบปัญหานี้ ดังนั้นอาจจะไม่มีปัญหาและฉันเพิ่งจะพลาดบางสิ่งบางอย่าง ฉันพยายามคิดหาวิธีแก้ปัญหาที่นักพัฒนาซอฟต์แวร์ที่ไม่ทำงานพฤติกรรม / การออกแบบที่แท้จริงสามารถค้นพบวิธีการทำอะไรได้อย่างง่ายดายโดยไม่ต้องอ้างอิงเอกสารภายนอกใด ๆ หรือสแกนชื่อคลาสในส่วนประกอบต่าง ๆ / โครงการเพื่อค้นหาสิ่งที่ดูเหมือนจะใช้งานได้ สิ่งเดียวที่ฉันสามารถทำได้คือมีสิ่งเหล่านี้เพราะไม่มีชื่อที่ดีกว่า "Table of …
10 solid  crud 

3
CRUD API: คุณจะระบุฟิลด์ที่จะอัปเดตได้อย่างไร
สมมติว่าคุณมีโครงสร้างข้อมูลบางประเภทซึ่งยังคงอยู่ในฐานข้อมูลบางประเภท เพื่อความง่ายเราจะเรียกโครงสร้างข้อมูลPersonนี้ ขณะนี้คุณได้รับมอบหมายให้ออกแบบ CRUD API ซึ่งอนุญาตให้แอปพลิเคชันอื่นสร้างอ่านอัปเดตและลบPersons เพื่อความง่ายลองสมมติว่า API นี้เข้าถึงได้ผ่านบริการเว็บบางประเภท สำหรับชิ้นส่วน C, R และ D ของ CRUD การออกแบบนั้นง่าย ฉันจะใช้เครื่องหมายคล้ายฟังก์ชัน C # - การใช้งานอาจเป็น SOAP, REST / JSON หรืออย่างอื่น: class Person { string Name; DateTime? DateOfBirth; ... } Identifier CreatePerson(Person); Person GetPerson(Identifier); void DeletePerson(Identifier); แล้วการอัพเดตล่ะ? สิ่งที่ต้องทำตามธรรมชาติคือ void UpdatePerson(Identifier, Person); แต่วิธีการที่คุณจะต้องระบุให้ซึ่งด้านของPersonการอัปเดต? วิธีแก้ปัญหาที่ฉันสามารถทำได้: คุณสามารถกำหนดให้บุคคลที่สมบูรณ์ต้องผ่านเช่นลูกค้าจะทำสิ่งนี้เพื่ออัปเดตวันเกิด: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.