วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

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

5
การออกแบบที่ดีคืออะไรเพื่อหลีกเลี่ยงการขอประเภทรอง
ฉันได้อ่านว่าเมื่อโปรแกรมของคุณจำเป็นต้องรู้ว่าคลาสคืออะไรวัตถุมักจะบ่งบอกถึงข้อบกพร่องในการออกแบบดังนั้นฉันจึงต้องการที่จะรู้ว่าอะไรคือวิธีปฏิบัติที่ดีในการจัดการกับสิ่งนี้ ฉันกำลังใช้รูปร่างคลาสที่มีคลาสย่อยต่าง ๆ ซึ่งสืบทอดมาจากมันเช่นวงกลมโพลีกอนหรือสี่เหลี่ยมผืนผ้าและฉันได้อัลกอริธึมที่แตกต่างกันเพื่อทราบว่าวงกลมชนกับรูปหลายเหลี่ยมหรือสี่เหลี่ยมผืนผ้า จากนั้นสมมติว่าเรามีสองอินสแตนซ์ของรูปร่างและต้องการทราบว่าหนึ่งชนกันในวิธีที่ฉันจะอนุมานประเภท subclass เป็นวัตถุที่ฉันกำลังชนกันเพื่อที่จะรู้ว่าอัลกอริทึมที่ฉันควรจะเรียก แต่นี่คือ การออกแบบหรือการปฏิบัติที่ไม่ดี? นี่คือวิธีที่ฉันแก้ไขมัน abstract class Shape { ShapeType getType(); bool collide(Shape other); } class Circle : Shape { getType() { return Type.Circle; } bool collide(Shape other) { if(other.getType() == Type.Rect) { collideCircleRect(this, (Rect) other); } else if(other.getType() == Type.Polygon) { collideCirclePolygon(this, (Polygon) other); …

2
มันถือว่าขี้เกียจหรือเปล่าถ้าฉันใช้พีชคณิตเชิงเส้นสำหรับ C ++?
ก่อนอื่นให้ฉันให้พื้นฐานก่อนที่จะระบุคำถามจริง ฉันเรียนวิชาฟิสิกส์และชั้นเรียนการเขียนโปรแกรมทั้งหมดของฉันอยู่ในภาษาการเขียนโปรแกรมอย่างง่ายเช่น MATLAB โดยง่ายฉันหมายถึงภาษาที่ใช้ในการคิดมากกับคุณ ... ในอีกไม่กี่ปีข้างหน้าฉันจะเรียนวิชาวิทยาการคอมพิวเตอร์และฉันก็กำลังคิดที่จะใฝ่หาอาชีพในการเขียนโปรแกรม เมื่อพิจารณาจากหลักสูตรวิทยาลัยจำนวนมากที่อยู่ใน C ++ จะใช้แพคเกจพีชคณิตเชิงเส้น (อาร์มาดิลโล) ที่มีไวยากรณ์คล้ายกับ MATLAB หรือไม่? ฉันกำลังเขียนอัลกอริธึมทางพันธุกรรมขึ้นมาในขณะนี้และในขณะที่มันทำงานได้อย่างรวดเร็วใน MATLAB มันใช้เวลานานมากใน C ++ โดยไม่ต้องใช้แพ็คเกจเหล่านี้ มันทำงานอย่างไรในชีวิตจริง คุณอนุญาตให้ใช้แพ็คเกจใด ตัวอย่างเช่นฉันไม่ต้องการสร้างความรู้ C ++ ของฉันด้วยตัวนิ่มและไม่มีความรู้เชิงลึกเกี่ยวกับแพ็คเกจอื่น ๆ ที่ใช้กันอย่างแพร่หลายเช่น "vector.h" "อัลกอริทึม" "รายการ" เป็นต้น
11 c++  experience 

9
สิ่งที่ควรป้อนข้อมูลของทีมต่อสู้?
ทีมการต่อสู้ของเราประกอบด้วยบทบาทการต่อสู้ปกติ เราไม่มีผู้ออกแบบ UI / UX และนักพัฒนาใช้งาน UI / UX กับเจ้าของผลิตภัณฑ์ นี่คือปัญหา ทุกครั้งที่เรากำลังจะสร้างงานในมือและเราไม่ได้กำหนด UI / UX ที่แน่นอนก่อนที่จะเริ่มการแข่งขันเราจะใช้เวลามากเกินไปในระหว่างการวิ่งเพื่อพยายามออกแบบ UI / UX ให้เสร็จ นี่เป็นเรื่องจริงสำหรับการวิเคราะห์และสถาปัตยกรรมของฟีเจอร์ คุณคิดว่าทุกรายละเอียดที่เป็นไปได้เกี่ยวกับคุณสมบัติควรมอบให้กับนักพัฒนาก่อนที่จะเริ่มการวิ่งหรือเป็นงานภายในคุณสมบัติ เราเคยประสบกับสิ่งนี้และมันส่งผลให้มีคุณสมบัติบางอย่างที่ไม่ได้กำหนดซึ่งไม่มีเกณฑ์
11 agile  scrum 

3
กลยุทธ์ GitHub สำหรับเก็บไฟล์หนึ่งเวอร์ชันเป็นส่วนตัว
ฉันเป็นอาจารย์ที่เขียนปัญหาการเข้ารหัสสำหรับนักเรียน สิ่งที่ฉันต้องการจะทำคือให้รหัสนักเรียนพร้อมตัวยึดสำหรับฟังก์ชันที่นักเรียนต้องทำให้เสร็จ ฉันจะให้นักเรียนเข้าถึง repo GitHub ส่วนตัวเพื่อโคลนนี้ อย่างไรก็ตามฉันยังต้องการเวอร์ชันของ codebase พร้อมด้วยตัวอย่างโซลูชั่น เห็นได้ชัดว่าฉันไม่ต้องการให้นักเรียนเข้าถึงการแก้ปัญหา (จนกว่างานจะเสร็จสิ้น) ฉันคิดเกี่ยวกับสาขา แต่ AFAIK ฉันไม่สามารถรักษาความเป็นส่วนตัวได้ บางทีฉันอาจแยกโครงการไปสู่ ​​repo ส่วนตัวอื่น แต่ไม่แน่ใจว่าฉันจะเก็บโครงการเป็น snyc ได้อย่างไร (นอกเหนือจากไฟล์ที่มีโซลูชัน) มีเวิร์กโฟลว์สำหรับสถานการณ์นี้หรือไม่
11 git  github 

3
เป็นไปได้หรือไม่ที่จะใช้ตารางแฮชแบบกระจายโดยไม่ต้องใช้ตัวดำเนินการ%
ฉันต้องการใช้ตารางแฮชที่กระจายอย่างรวดเร็วใน C # ฉันมีปัญหาในการเลือกฟังก์ชั่นแฮช จำกัด ของฉันที่ใช้รหัสแฮชตามอำเภอใจและ "จำกัด " มันเพื่อให้สามารถใช้สร้างดัชนีถังได้ มีสองตัวเลือกที่ฉันเห็น: ในมือข้างหนึ่งคุณสามารถตรวจสอบให้แน่ใจว่าถังของคุณมีองค์ประกอบจำนวนมากเสมอและเพื่อ จำกัด การแฮชคุณเพียงแค่ปรับค่าตามจำนวนถัง นี่คือความจริงแล้วพจนานุกรมของ. NET ทำอะไร ปัญหาของวิธีนี้คือการใช้% ช้ามากเมื่อเทียบกับการปฏิบัติการอื่น ถ้าคุณมองไปที่ตารางการเรียนการสอน Agner ตัดหมอก , idiv(ซึ่งเป็นรหัสการชุมนุมที่ได้รับการสร้างขึ้นสำหรับ%) มีการเรียนการสอนแฝง ~ 25 รอบสำหรับโปรเซสเซอร์ Intel ใหม่ เปรียบเทียบนี้เพื่อรอบ 3 mulหรือ 1 สำหรับ Ops บิตเช่นand, หรือorxor ในทางกลับกันคุณสามารถมีจำนวนของถังเสมอได้ 2 คุณยังจะต้องคำนวณโมดูลัสของแฮชดังนั้นคุณจึงไม่ได้พยายามทำดัชนีนอกอาร์เรย์ แต่คราวนี้มันจะมีราคาไม่แพง . เนื่องจากกำลังของ 2 % Nเป็นเพียง& (N - 1)ข้อ จำกัด …

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

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

7
การใช้งานสถานะวัตถุในภาษา OO?
ฉันได้รับรหัส Java เพื่อดูซึ่งจำลองการแข่งรถซึ่งรวมถึงการใช้เครื่องรัฐขั้นพื้นฐาน นี่ไม่ใช่เครื่องคำนวณทางวิทยาศาสตร์คอมพิวเตอร์แบบดั้งเดิม แต่เป็นเพียงวัตถุที่มีหลายสถานะและสามารถสลับระหว่างสถานะต่าง ๆ ตามชุดการคำนวณ เพื่ออธิบายเพียงแค่ปัญหาฉันมีคลาสรถยนต์พร้อมคลาส enum ซ้อนกันซึ่งกำหนดค่าคงที่สำหรับสถานะของรถยนต์ (เช่น OFF, IDLE, DRIVE, REVERSE และอื่น ๆ ) ภายในคลาสรถยนต์เดียวกันนี้ฉันมีฟังก์ชั่นการอัปเดตซึ่งโดยทั่วไปประกอบด้วยคำสั่งสวิตช์ขนาดใหญ่ซึ่งเปลี่ยนสถานะปัจจุบันของรถยนต์ทำการคำนวณบางอย่างและเปลี่ยนสถานะรถยนต์ เท่าที่ฉันเห็นรัฐ Cars ใช้ในชั้นเรียนของตัวเองเท่านั้น คำถามของฉันคือนี่เป็นวิธีที่ดีที่สุดในการจัดการกับการใช้งานกลไกสถานะตามธรรมชาติที่อธิบายไว้ข้างต้นหรือไม่? มันฟังดูเหมือนโซลูชันที่ชัดเจนที่สุด แต่ก่อนหน้านี้ฉันเคยได้ยินมาเสมอว่า ปัญหาหลักที่ฉันเห็นที่นี่คือคำสั่ง switch อาจมีขนาดใหญ่มากเมื่อเราเพิ่มสถานะเพิ่มเติม (ถ้าจำเป็น) และรหัสอาจไม่สะดวกและยากต่อการบำรุงรักษา อะไรจะเป็นทางออกที่ดีกว่าสำหรับปัญหานี้?

3
ข้อดีของ XML บนสัญกรณ์ S-expressions (-ish) คืออะไร
ฉันต้องการถามคำถามเกี่ยวกับสัญกรณ์ XML และ S-expressions (-ish) S-expressions ค่อนข้างเก่า พวกเขายังง่ายจริงๆ เราสามารถพิจารณาสองรูปแบบที่เท่ากันในความหมายแตกต่างกันในไวยากรณ์: (รหัส xml นำมาจากวิกิพีเดียภาษาโปแลนด์ ) <?xml version="1.0" encoding="UTF-8"?> <ksiazka-telefoniczna kategoria="bohaterowie książek"> <!-- komentarz --> <osoba charakter="dobry"> <imie>Ambroży</imie> <nazwisko>Kleks</nazwisko> <telefon>123-456-789</telefon> </osoba> <osoba charakter="zły"> <imie>Alojzy</imie> <nazwisko>Bąbel</nazwisko> <telefon/> </osoba> </ksiazka-telefoniczna> รุ่น S-Expression (-ish): (:version "1.0" :encoding "utf-8") (ksiazka-telefoniczna :category "bohaterowie książek" ; komentarz(a comment) (osoba …
11 xml 

6
กำลังสองบิตต่อคำว่า "สะดวก" หรือไม่ ถ้าเป็นเช่นนั้นทำไม
ฉันพบหลายแหล่งที่อ้างว่า power-of-two บิตในคำไบนารี (เช่น 8 บิตต่อไบต์) เป็น "สิ่งที่ดี" หรือ "สะดวก" ฉันไม่พบแหล่งที่มาว่าทำไม จากประวัติของทำไมไบต์เป็นแปดบิต? เราอ่านคำตอบที่ได้รับอนุมัติแล้ว: คอมพิวเตอร์แบบไบนารี่กระตุ้นให้นักออกแบบสร้างพลังได้สองขนาด ตกลง แต่ทำไม ในคำถามเดียวกัน แต่ในช่องแสดงความคิดเห็นสำหรับคำถามที่ฉันพบ: ประโยคสุดท้ายเป็นเรื่องตลกหรือเปล่า? ไบต์ 12 บิตจะไม่สะดวกเพราะมันไม่ใช่พลังของ 2 - robjb อีกครั้งเป็นโมฆะของเหตุผล ... การคำนวณที่อยู่เป็นเรื่องง่ายกว่ามากด้วยพลังของ 2 และนับว่าเมื่อคุณสร้างตรรกะจากทรานซิสเตอร์ดิบในกระป๋องเล็ก ๆ - Mike เนื่องจากไบต์เป็นหน่วยที่เล็กที่สุดที่กำหนดแอดเดรสได้จึงไม่สมเหตุสมผลนัก มากมาย upvotes กับความคิดเห็นว่า บางทีฉันอาจจะพลาดบางสิ่งบางอย่าง จากวิกิพีเดีย : มาตรฐานความเป็นจริงของแปดบิตเป็นกำลังที่สะดวกสบายของสองอนุญาตให้ค่า 0 ถึง 255 สำหรับหนึ่งไบต์ และนี่จะสะดวกเพราะ ... สำหรับการชี้แจงนี่เป็นจำนวนบิตต่อไบต์ (เช่น 8 …
11 hardware  byte  bit 

7
มีหลักการอะไรบ้างที่เรียนรู้จาก C ซึ่งไม่สามารถเรียนรู้ในภาษาระดับสูงกว่าได้ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันเชื่อว่า C เป็นภาษาที่ดีในการเรียนรู้หลักการที่อยู่เบื้องหลังการเขียนโปรแกรม คุณยืนหยัดเพื่อเรียนรู้ในภาษาระดับต่ำกว่าที่เป็น "เวทมนต์" ห่างจากภาษาระดับสูงเช่นรูบี?
11 c  low-level 

3
วิธีการออกแบบ REST API เพื่อจัดการกับการดำเนินการที่ไม่ใช่ CRUD?
ฉันพยายามแปลงชุดบริการที่ใช้ SOAP เป็น RESTful API Subscriptionผมเริ่มด้วยการระบุทรัพยากรโดยการวิเคราะห์ชื่อการดำเนินงานและผมได้ทรัพยากร เมื่อฉันต้องการอัปเดตสถานะการสมัครสมาชิกฉันไม่สามารถส่งPOSTคำขอไปยังเซิร์ฟเวอร์ได้เพราะฉันไม่สามารถเข้าถึงทรัพยากรได้โดยตรง แต่ฉันต้องเรียกการดำเนินงานสไตล์ RPC บางอย่างเพื่ออัปเดตคุณสมบัติของพวกเขา นอกจากนี้เฉพาะในกรณีที่ฉันเปลี่ยนสถานะของการสมัครเป็น "ใช้งานอยู่" ต้องทำการโทรเพิ่มเติมไปยังบริการภายนอก ในกรณีเหล่านี้แนวทางปฏิบัติที่ดีที่สุดในการจัดการการปฏิบัติงานพื้นฐานคืออะไร วิธีแก้ปัญหาที่ฉันพบคือการใช้พารามิเตอร์ข้อความค้นหาดังนั้นหากฉันต้องการเรียกใช้บริการการเปิดใช้งานฉันสามารถใช้สิ่งต่อไปนี้ POST /subscriptions/{subscriptionid}/?activate=true เมื่อพิจารณาว่าฉันไม่สามารถอัปเดตฟิลด์วัตถุการสมัครของฉันโดยตรงมีวิธีปฏิบัติที่ดีที่สุดในการจัดการการแปลงประเภทนี้หรือไม่ อัปเดต 1: ฉันสามารถใส่ค่า POST ลงในเนื้อหาได้เช่น "state": "active" และตรวจสอบภายในบริการของฉันการดำเนินการที่เหมาะสมที่จะถูกเรียก

1
สถาปัตยกรรมหัวหอมกับสถาปัตยกรรม 3 ชั้น
ฉันเห็นเฉพาะประโยชน์ของสถาปัตยกรรมหัวหอมเหนือสถาปัตยกรรม 3 ชั้นที่ BL มีความรับผิดชอบในการเรียกใช้เมธอดบน DAL (หรืออินเตอร์เฟสของ DAL) เพื่อทำ CRUD หัวหอมมีการแยกความกังวลการทดสอบการบำรุงรักษาที่ดีขึ้นและสะอาดขึ้น ดังนั้นสถาปัตยกรรมหัวหอมจึงดีกว่าในทุกด้านและสถาปัตยกรรมแบบ 3 ชั้นเป็นเพียงวิธีเก่า ๆ ในการทำสิ่งต่าง ๆ หรือมีบางสถานการณ์ที่ฉันควรจะใช้สถาปัตยกรรมแบบ 3 ชั้นถ้าเป็นเช่นนั้น

3
คลาส `Employee` ควรได้รับการออกแบบอย่างไร?
ฉันกำลังพยายามสร้างโปรแกรมสำหรับจัดการพนักงาน อย่างไรก็ตามฉันไม่สามารถหาวิธีออกแบบEmployeeชั้นเรียนได้ เป้าหมายของฉันคือการสามารถสร้างและจัดการข้อมูลพนักงานในฐานข้อมูลโดยใช้Employeeวัตถุ การใช้งานขั้นพื้นฐานที่ฉันคิดว่าเป็นเรื่องง่าย ๆ นี้: class Employee { // Employee data (let's say, dozens of properties). Employee() {} Create() {} Update() {} Delete() {} } ด้วยการใช้งานนี้ฉันพบปัญหาหลายประการ IDของพนักงานจะได้รับจากฐานข้อมูลดังนั้นหากผมใช้วัตถุสำหรับการอธิบายเป็นพนักงานใหม่จะไม่มีIDการจัดเก็บเลยในขณะที่วัตถุที่เป็นตัวแทนของพนักงานที่มีอยู่จะIDมี ดังนั้นฉันจึงมีคุณสมบัติที่บางครั้งอธิบายวัตถุและบางครั้งก็ไม่ (ซึ่งอาจบ่งบอกว่าเราละเมิดSRPเนื่องจากเราใช้คลาสเดียวกันสำหรับตัวแทนพนักงานใหม่และพนักงานปัจจุบัน ... ) Createวิธีการที่ควรจะสร้างการทำงานของพนักงานในฐานข้อมูลได้ในขณะที่UpdateและDeleteควรจะดำเนินการกับพนักงานที่มีอยู่ (อีกครั้งSRP ... ) วิธีการ 'สร้าง' ควรมีพารามิเตอร์ใด มีพารามิเตอร์หลายสิบสำหรับข้อมูลพนักงานทั้งหมดหรืออาจเป็นEmployeeวัตถุ? ชั้นควรจะไม่เปลี่ยนรูป? จะUpdateทำงานอย่างไร จะใช้คุณสมบัติและอัปเดตฐานข้อมูลหรือไม่ หรืออาจจะใช้วัตถุสองชิ้น - อันเก่าและอันใหม่และอัพเดทฐานข้อมูลด้วยความแตกต่างระหว่างพวกมัน (ฉันคิดว่าคำตอบเกี่ยวข้องกับคำตอบเกี่ยวกับความไม่แน่นอนของชั้นเรียน) อะไรคือความรับผิดชอบของผู้สร้าง? สิ่งที่จะเป็นพารามิเตอร์ที่ใช้? มันจะดึงข้อมูลพนักงานจากฐานข้อมูลโดยใช้idพารามิเตอร์และเติมคุณสมบัติหรือไม่ …

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