คำถามติดแท็ก design-patterns

รูปแบบการออกแบบเป็นโซลูชันที่ใช้ซ้ำได้ทั่วไปสำหรับปัญหาที่เกิดขึ้นทั่วไปในการออกแบบซอฟต์แวร์

4
ควรใช้รูปแบบพื้นที่เก็บข้อมูลเมื่อใด
ฉันได้อ่านเมื่อเร็ว ๆ นี้ว่าไม่ใช่วิธีปฏิบัติที่ดีในการใช้รูปแบบพื้นที่เก็บข้อมูลร่วมกับ ORM จากความเข้าใจของฉันนี้เป็นเพราะนามธรรมที่พวกเขาให้มากกว่าฐานข้อมูล SQL รั่วไหลเกินกว่าที่จะอยู่ในรูปแบบ ฉันมีคำถามสองสามข้อเกี่ยวกับเรื่องนี้: คุณจะทำอย่างไรถ้าคุณต้องการเปลี่ยน ORM คุณจะมีรหัสเฉพาะ ORM ในแอปพลิเคชันของคุณหากคุณไม่มีในที่เก็บ รูปแบบที่เก็บยังคงใช้ได้เมื่อไม่ได้ใช้ ORM และคุณใช้ ADO.NET สำหรับการเข้าถึงข้อมูลและการเติมข้อมูลวัตถุด้วยตัวเอง? หากคุณใช้ ORM แต่ไม่ใช่รูปแบบที่เก็บที่คุณเก็บแบบสอบถามที่ใช้บ่อย จะเป็นการดีหรือไม่ที่จะแสดงแต่ละแบบสอบถามเป็นคลาสและมีโรงงานแบบสอบถามบางประเภทเพื่อสร้างอินสแตนซ์

5
อ็อบเจ็กต์สถาปัตยกรรมเอนทิตีคอมโพเนนต์ระบบถูกวางแนวโดยนิยามหรือไม่?
เป็นสถาปัตยกรรมระบบตัวแทน Entityเชิงวัตถุโดยความหมาย? ดูเหมือนว่าฉันหรือขั้นตอนการทำงานมากขึ้น ความคิดเห็นของฉันคือมันไม่ได้ป้องกันคุณจากการใช้งานในภาษา OO แต่มันจะไม่เป็นเรื่องแปลกที่จะทำเช่นนั้นในทาง OO อย่างแข็งขัน ดูเหมือนว่า ECS จะแยกข้อมูล (E & C) ออกจากพฤติกรรม (S) เป็นหลักฐาน : แนวคิดคือไม่มีวิธีการฝังเกมในเอนทิตี และ : ส่วนประกอบประกอบด้วยชุดข้อมูลขั้นต่ำที่จำเป็นสำหรับวัตถุประสงค์เฉพาะ ระบบคือฟังก์ชั่นวัตถุประสงค์เดียวที่ใช้ชุดของเอนทิตีที่มีองค์ประกอบเฉพาะ ฉันคิดว่านี่ไม่ใช่เชิงวัตถุเพราะส่วนใหญ่ของการมุ่งเน้นวัตถุคือการรวมข้อมูลและพฤติกรรมของคุณเข้าด้วยกัน เป็นหลักฐาน : ในทางตรงกันข้ามวิธีการเชิงวัตถุสนับสนุนให้โปรแกรมเมอร์วางข้อมูลที่ไม่สามารถเข้าถึงได้โดยตรงโดยส่วนที่เหลือของโปรแกรม แต่จะเข้าถึงข้อมูลได้โดยการเรียกฟังก์ชั่นที่เขียนขึ้นเป็นพิเศษโดยทั่วไปเรียกว่าเมธอดซึ่งรวมอยู่ในข้อมูล ในทางกลับกัน ECS ดูเหมือนจะเป็นเรื่องเกี่ยวกับการแยกข้อมูลของคุณออกจากพฤติกรรมของคุณ

10
สามารถใช้หลักการความรับผิดชอบเดี่ยว / กับรหัสใหม่ได้หรือไม่?
หลักการที่ถูกกำหนดให้เป็นโมดูลที่มีเหตุผลหนึ่งที่มีการเปลี่ยนแปลง คำถามของฉันคือแน่นอนว่าเหตุผลการเปลี่ยนแปลงเหล่านี้ไม่เป็นที่รู้จักจนกว่ารหัสจะเริ่มเปลี่ยนไปจริง ๆ ?? สวยมากชิ้นส่วนของรหัสทุกคนมีเหตุผลมากมายว่าทำไมมันอาจอาจจะเปลี่ยน แต่แน่นอนความพยายามที่จะคาดว่าจะมีสิ่งเหล่านี้และการออกแบบรหัสของคุณมีในใจจะจบลงด้วยรหัสที่น่าสงสารมาก เป็นความคิดที่ดีกว่าหรือที่จะเริ่มใช้ SRP เมื่อคำขอเปลี่ยนรหัสเริ่มเข้ามาเท่านั้น โดยเฉพาะอย่างยิ่งเมื่อชิ้นส่วนของรหัสมีการเปลี่ยนแปลงมากกว่าหนึ่งครั้งด้วยเหตุผลมากกว่าหนึ่งข้อดังนั้นการพิสูจน์ว่ามีเหตุผลมากกว่าหนึ่งข้อที่จะเปลี่ยนแปลง มันฟังดูต่อต้านการว่องไวมากในการพยายามเดาสาเหตุของการเปลี่ยนแปลง ตัวอย่างจะเป็นส่วนหนึ่งของรหัสที่พิมพ์เอกสาร คำขอเข้ามาเพื่อเปลี่ยนแปลงให้พิมพ์เป็น PDF จากนั้นมีการร้องขอครั้งที่สองเพื่อเปลี่ยนแปลงคำขอเพื่อนำการจัดรูปแบบที่แตกต่างไปใช้กับเอกสาร ณ จุดนี้คุณมีหลักฐานมากกว่าหนึ่งเหตุผลในการเปลี่ยนแปลง (และการละเมิด SRP) และควรทำการปรับโครงสร้างที่เหมาะสม

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

7
การเขียน Data Access / Data Mapping Layer ของคุณเป็นแนวคิดที่“ ดี” หรือไม่?
ขณะนี้เรากำลังตกอยู่ในสถานการณ์ที่เรามีทางเลือกระหว่างการใช้ mapper เชิงสัมพันธ์เชิงวัตถุนอกกรอบหรือการรีดของเราเอง เรามีแอปพลิเคชั่นรุ่นเก่า (ASP.NET + SQL Server) ที่ซึ่ง data-layer & business-layer ถูกบดเข้าด้วยกันอย่างน่าเสียดาย ระบบไม่ซับซ้อนโดยเฉพาะอย่างยิ่งในแง่ของการเข้าถึงข้อมูล มันอ่านข้อมูลจากกลุ่มขนาดใหญ่ (35-40) ของตารางที่เกี่ยวข้องระหว่างจัดการกับมันในหน่วยความจำและบันทึกมันกลับไปที่ตารางอื่น ๆ ในรูปแบบสรุป ตอนนี้เรามีโอกาสในการปรับโครงสร้างใหม่และกำลังมองหาเทคโนโลยีที่จะใช้ในการแยกและจัดโครงสร้างการเข้าถึงข้อมูลของเราอย่างเหมาะสม เทคโนโลยีใดก็ตามที่เราตัดสินใจเราต้องการ: มีวัตถุ POCO ในรูปแบบโดเมนของเราซึ่งเป็นความไม่รู้เรื่องการคงอยู่ มีเลเยอร์นามธรรมเพื่อให้เราทดสอบหน่วยโมเดลวัตถุของเรากับแหล่งข้อมูลต้นแบบที่เยาะเย้ย เห็นได้ชัดว่ามีหลายสิ่งในนี้อยู่แล้วในแง่ของรูปแบบและกรอบ ฯลฯ ส่วนตัวผมกำลังผลักดันให้มีการใช้ EF ร่วมกับADO.NET หน่วยทดสอบ Repository Generator / POCO Entity ปั่นไฟ สามารถตอบสนองความต้องการทั้งหมดของเราสามารถรวมเข้ากับรูปแบบ Repo / UnitOfWork ได้อย่างง่ายดายและโครงสร้างฐานข้อมูลของเรานั้นมีความเป็นผู้ใหญ่ที่สมเหตุสมผล อย่างไรก็ตามคนอื่น ๆ ในกลุ่มกำลังแนะนำให้สถาปนิก / กลิ้ง DAL ของเราเองอย่างสมบูรณ์ตั้งแต่เริ่มต้น (DataMappers …

1
URL REST ที่ซ้อนกันและรหัสหลักซึ่งมีการออกแบบที่ดีกว่า
เอาล่ะเรามีสองทรัพยากร: และAlbum Songนี่คือ API: GET,POST /albums GET,POST /albums/:albumId GET,POST /albums/:albumId/songs GET,POST /albums/:albumId/songs/:songId เรารู้ว่าเราเกลียดบางเพลงมันถูกเรียกSusyเช่น เราควรsearchลงมือทำที่ไหน? คำถามอื่น โอเคตอนนี้มันเป็นของจริงมากขึ้น เราเปิดอัลบั้มที่ 1 และโหลดเพลงทั้งหมด เราสร้างวัตถุ JS removeแต่ละเก็บข้อมูลเพลงและมีวิธีการบางอย่างเพื่อให้: update, เพลงวัตถุมี ID ชื่อและสิ่งของ แต่ไม่มีเงื่อนงำเกี่ยวกับผู้ปกครองว่าเป็นของมันเพราะเราดึงรายชื่อเพลงตามการสืบค้นและมันจะไม่ดีที่จะส่งคืนรหัสผู้ปกครองด้วยกัน ฉันผิดหรือเปล่า? ดังนั้นฉันเห็นวิธีแก้ปัญหาเล็กน้อย แต่ฉันไม่แน่ใจจริงๆ ทำให้ id หลักเป็นตัวเลือก - ตามที่ได้รับพารามิเตอร์ ฉันใช้วิธีนี้ในปัจจุบัน แต่ฉันรู้สึกว่ามันน่าเกลียด List,Create /songs?album=albumId Update,Delete /songs/:songId Get /songs/?name=susy # also, solution for first question เป็นลูกผสม …

7
ความแตกต่างระหว่างรูปแบบและหลักการ
รูปแบบการออกแบบเชิงวัตถุและหลักการต่างกันอย่างไร พวกเขาต่างกันไหม? เท่าที่ฉันเข้าใจพวกเขาทั้งสองพยายามบรรลุเป้าหมายร่วมกัน (เช่นความยืดหยุ่น) ดังนั้นฉันสามารถพูดได้ว่ารูปแบบเป็นหลักการและในทางกลับกัน? หลักการออกแบบ = SOLID (เช่นหลักการผกผันของการพึ่งพา) รูปแบบการออกแบบ = Gof (เช่นรูปแบบนามธรรมของโรงงาน)

5
คือการใช้ *** Helper หรือ *** ใช้ประโยชน์จากคลาสที่มีเพียงวิธีคงที่ AntiPattern
ฉันมักจะเผชิญหน้ากับผู้ช่วยหรือใช้คลาสใน Java หรือภาษาอะไรก็ได้ ดังนั้นฉันจึงถามตัวเองว่านี่เป็น Anti Pattern หรือไม่และการมีอยู่ของคลาสเหล่านี้เป็นเพียงการขาดการออกแบบและสถาปัตยกรรมของซอฟต์แวร์ บ่อยครั้งที่คลาสเหล่านี้ถูก จำกัด ด้วยวิธีการคงที่ซึ่งทำสิ่งต่างๆมากมาย แต่ส่วนใหญ่มันแน่นอนขึ้นอยู่กับบริบทและรัฐเต็ม คำถามของฉันคืออะไรความคิดเห็นของคุณเกี่ยวกับประเภทของผู้ช่วยคงที่ / ใช้ประโยชน์เช่นชั้นเรียนเพราะข้อได้เปรียบแน่นอนว่าการร้องขออย่างรวดเร็วโดยใช้เพียงชื่อชั้นเรียน แล้วคุณจะหลีกเลี่ยงการใช้คลาสประเภทนี้ในระดับใด ในความคิดของฉันคำหลัก "คงที่" ควรได้รับอนุญาตภายในการประกาศของคลาส (Java) และไม่ได้สำหรับวิธีการ ในความคิดของฉันคือการใช้วิธีนี้อาจเป็นทางเลือกที่ดีและตรงกลางเพื่อให้สามารถรวม Procuedural- และ OO-Paradigms ใน Java และหลีกเลี่ยงการใช้คำหลักที่ผิดพลาด เพิ่มเติมเนื่องจากคำตอบ: ตอนแรกฉันคิดว่ามันถูกกฎหมายอย่างสมบูรณ์เพื่อให้สามารถรวมกระบวนทัศน์ที่แตกต่างกันและแม้กระทั่งใช้ภาษาสคริปต์ตีความตีความรันไทม์ภายในเครื่องหรือรหัสที่รวบรวม vm ประสบการณ์ของฉันคือระหว่างกระบวนการพัฒนาโครงการผู้ช่วยเหลือและสิ่งของประเภทนั้นหรืออะไรก็ตามที่ชื่อกำลังเติบโตและเติบโตและใช้ในทุกมุมที่ลืมของ codebase ซึ่ง แต่เดิมได้รับการออกแบบให้เป็นแบบแยกส่วนและยืดหยุ่น และเนื่องจากไม่มีเวลาที่จะทำการปรับโครงสร้างใหม่หรือคิดเกี่ยวกับการออกแบบอีกครั้งคุณเพียงแค่ทำให้มันแย่ลงในช่วงเวลานั้น ฉันคิดว่าstaticควรถูกลบออกจาก Java โดยเฉพาะอย่างยิ่งตอนนี้ที่เป็นไปได้ที่จะใช้องค์ประกอบภาษาที่ซับซ้อนยิ่งขึ้น

4
การมีตัวแปรอินสแตนซ์มากเกินไปนำไปสู่การทำซ้ำรหัสได้อย่างไร
ตามRefactoring เพื่อรูปแบบ : เมื่อคลาสพยายามทำมากเกินไปมันมักจะแสดงตัวแปรอินสแตนซ์มากเกินไป เมื่อคลาสมีตัวแปรอินสแตนซ์มากเกินไปรหัสที่ซ้ำกันจะไม่สามารถล้าหลังได้ การมีตัวแปรอินสแตนซ์มากเกินไปนำไปสู่การทำซ้ำรหัสได้อย่างไร

4
อะไรคือความแตกต่างระหว่างหลักการความรับผิดชอบเดี่ยวและการแยกความกังวล
a) ความแตกต่างระหว่างSRPและSoCคืออะไร? บางทีนั่นอาจจะSRPถูกนำไปใช้ในระดับชั้นในขณะที่SoCสามารถนำมาใช้ในระบบ , ระบบย่อย , โมดูล , ระดับหรือฟังก์ชั่นระดับ b) ถ้าคำตอบต่อa)ใช่แล้วSoC จะใช้คำพ้องความหมายสำหรับSRPในระดับชั้นเรียนหรือไม่? ขอขอบคุณ

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

6
การบันทึกถัดจากการใช้งานเป็นการละเมิด SRP หรือไม่
เมื่อคิดถึงการพัฒนาซอฟต์แวร์ที่คล่องตัวและหลักการทั้งหมด (SRP, OCP, ... ) ฉันถามตัวเองว่าจะจัดการการบันทึกอย่างไร การบันทึกถัดจากการใช้งานเป็นการละเมิด SRP หรือไม่ ฉันจะบอกว่าyesเพราะการใช้งานควรจะสามารถทำงานได้โดยไม่ต้องเข้าสู่ระบบ ดังนั้นฉันจะใช้การบันทึกในวิธีที่ดีกว่าได้อย่างไร ฉันได้ตรวจสอบรูปแบบบางอย่างและได้ข้อสรุปว่าวิธีที่ดีที่สุดที่จะไม่ละเมิดหลักการในแบบที่ผู้ใช้กำหนด แต่เพื่อใช้รูปแบบใด ๆ ที่ทราบว่าละเมิดหลักการก็คือใช้รูปแบบมัณฑนากร สมมติว่าเรามีส่วนประกอบจำนวนมากโดยไม่มีการละเมิด SRP จากนั้นเราต้องการเพิ่มการบันทึก องค์ประกอบ A องค์ประกอบ B ใช้ A เราต้องการบันทึกสำหรับ A ดังนั้นเราจึงสร้างส่วนประกอบอีก D ที่ตกแต่งด้วย A ทั้งสองใช้อินเตอร์เฟส I อินเตอร์เฟส I component L (บันทึกองค์ประกอบของระบบ) องค์ประกอบ A ใช้ I component D ใช้ I, ตกแต่ง / ใช้ A, ใช้ …

3
รูปแบบสำหรับการส่งบริบทผ่านห่วงโซ่วิธีการ
นี่คือการตัดสินใจออกแบบที่ดูเหมือนจะเกิดขึ้นมากมาย: วิธีการผ่านบริบทผ่านวิธีการที่ไม่ต้องการให้เป็นวิธีการที่ทำ มีคำตอบที่ถูกต้องหรือไม่นั้นขึ้นอยู่กับบริบท โค้ดตัวอย่างที่ต้องการโซลูชัน // needs the dependency function baz(session) { session('baz'); } // doesn't care about the dependency function bar() { baz(); } // needs the dependency function foo(session) { session('foo') bar(); } // creates the dependency function start() { let session = new Session(); foo(session); } การแก้ปัญหาที่เป็นไปได้ ThreadLocal …

2
คุณจัดการ config ด้วยการฉีดพึ่งพาได้อย่างไร?
ฉันเป็นแฟนตัวยงของ DI / IOC มันเป็นเรื่องที่ยอดเยี่ยมสำหรับการจัดการ / การแยกตัวออกจากการพึ่งพาอย่างหนักและทำให้ชีวิตง่ายขึ้นเล็กน้อย อย่างไรก็ตามฉันมีด้ามจับเล็ก ๆ กับมันซึ่งฉันไม่แน่ใจว่าจะแก้ปัญหาได้อย่างไร แนวคิดพื้นฐานใน DI / IOC คือเมื่อวัตถุถูกสร้างอินสแตนซ์การอ้างอิงทั้งหมดจะถูกเติมไว้ล่วงหน้าภายใน Constructor อย่างไรก็ตาม IMHO มีพารามิเตอร์หลายประเภทสำหรับตัวสร้าง (โดยเฉพาะเมื่อวัตถุของคุณไม่เปลี่ยนรูป) การพึ่งพา (วัตถุที่จำเป็นสำหรับวัตถุของคุณในการทำงาน) การกำหนดค่า (ข้อมูลเกี่ยวกับสภาพแวดล้อมที่จำเป็นในการทำงาน) พารามิเตอร์ (ข้อมูลที่ใช้งานได้) ฉันพบว่า IOC ทำงานได้ดีกับการอ้างอิง แต่ฉันยังคงพยายามหาวิธีที่ดีที่สุดในการจัดการกับอีกสองคน อย่างไรก็ตามเนื่องจากตัวสร้างถูกเรียกใช้เพื่อให้เรียกใช้งานโดยคอนเทนเนอร์ IOC ดูเหมือนว่าฉันต้องวางรายการเหล่านี้ลงในคอนเทนเนอร์ IOC ฉันต้องการทราบว่ากลยุทธ์ / รูปแบบการจ้างงานของผู้คนและข้อดีและข้อเสียที่พบ NB ฉันรู้ว่านี่เป็นคำถามที่เป็นอัตนัยและได้พยายามทำให้เป็นคำถามแบบอัตนัย "ดี" ตามแนวทางของ SE

3
วิธีการออกแบบเวิร์กโฟลว์เว็บไซต์?
ฉันคิดถึงเรื่องนี้มาเป็นเวลานานโดยไม่ได้รับคำตอบที่เหมาะสม ก่อนอื่นฉันเป็นแพทย์ที่รักการเขียนโปรแกรม แต่ไม่เคยเรียนเลยยกเว้นการเรียนรู้ที่บ้านและการเล่นกับรหัสเป็นเวลาหลายปีในเวลาว่าง ขณะนี้ฉันกำลังพยายามสร้างโครงการขนาดเล็กเพื่อจัดการคลินิกของฉันโดยเริ่มจากการสร้างรายการตัวเลือกที่ฉันต้องการจะทำ ตัวอย่าง: บันทึกผู้ป่วยที่ใช้งาน การพิสูจน์ตัวตนด้วยบทบาทที่แตกต่าง (เช่นผู้ป่วย, พยาบาล, ดร.) ตารางนัดหมาย (รวมถึงปฏิทินไปยังตารางนัดหมาย / การผ่าตัด ฯลฯ พร้อมเตือนความจำ) อนุญาตให้หมอสร้างปลั๊กอินของเขาเอง แดชบอร์ดสำหรับแพทย์เพื่อดูสถิติของเขา จากนั้นฉันเริ่มด้วย codeigniter / mysql / php / jquery และเริ่มเขียนโค้ด ขั้นตอนของฉันในระหว่างการพัฒนา: - ฐานข้อมูลที่ 1 ฉันเริ่มต้นด้วยการสร้างตารางทั้งหมดที่ฉันต้องการ สร้างโมเดลทั้งหมดของฉันเพื่อจัดการกับตารางเหล่านี้ (1 โมเดลต้นแบบที่จัดการอ่าน / เขียน / อัปเดต / ตรวจสอบพื้นฐานขณะเดียวกันก็พิจารณาความสัมพันธ์ของตารางของฉันด้วย หลังจากนั้นฉันเริ่มรหัสมุมมองและตัวควบคุมของฉัน ฉันสร้างมุมมอง HTML ครั้งแรกจากนั้นสร้างตัวควบคุมที่จะจัดการมุมมองนี้และเริ่มฟังก์ชั่นการเขียนโค้ดเพื่อให้มุมมองการโต้ตอบทำงานได้ ตัวอย่างเมื่อเขียนโค้ดมุมมองการนัดหมาย (คอนโทรลเลอร์ booking.php): สร้างเลย์เอาต์นี้และทำให้สามารถคลิกได้ของตาราง td …

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