กฎข้อที่ 1: สร้างหน่วยสำหรับแต่ละคลาส (หนึ่งคลาส หนึ่งยูนิต)
โปรดจำไว้เสมอ: ส่วนส่วนตัว (ส่วนตัว) และส่วนที่ได้รับการป้องกัน (ป้องกัน) ของคลาสจะถูกซ่อนจากคลาสและขั้นตอนในหน่วยอื่นเท่านั้น ดังนั้น หากคุณต้องการการห่อหุ้มที่มีประสิทธิภาพ คุณควรจัดเตรียมคลาส A แต่ละคลาสให้ใช้หน่วยที่แตกต่างกัน สำหรับคลาสธรรมดาบางคลาส เช่น คลาสที่สืบทอดมาจากคลาสอื่น คุณสามารถใช้หน่วยที่ใช้ร่วมกันได้ อย่างไรก็ตาม จำนวนคลาสที่ใช้หน่วยเดียวกันนั้นมีจำกัด: อย่าใส่คลาสที่ซับซ้อนมากกว่า 20 คลาสในหน่วยแบบง่าย
กฎข้อที่ 2: ชื่อส่วนประกอบ
สิ่งสำคัญคือต้องใช้ชื่อที่สื่อความหมายสำหรับส่วนประกอบต่างๆ วิธีตั้งชื่อที่พบบ่อยที่สุดคือเริ่มต้นด้วยอักษรตัวพิมพ์เล็กของคลาส บวกกับฟังก์ชันของส่วนประกอบ เช่น BtnAdd หรือ editName
กฎข้อที่ 3: ตั้งชื่อเหตุการณ์
การให้ชื่อที่เหมาะสมกับวิธีการจัดการเหตุการณ์เป็นสิ่งสำคัญยิ่งกว่า ถ้าคุณตั้งชื่อที่เหมาะสมให้กับส่วนประกอบ ชื่อเริ่มต้นของระบบ ButtonClick จะกลายเป็น BtnAddClick แม้ว่าเราจะสามารถเดาฟังก์ชันของตัวจัดการเหตุการณ์นี้ได้จากชื่อ แต่ฉันคิดว่ามันเป็นวิธีที่ดีกว่าในการใช้ชื่อที่อธิบายฟังก์ชันของวิธีการแทนที่จะใช้ชื่อที่แนบมากับ Delphi ตัวอย่างเช่น สามารถตั้งชื่อเหตุการณ์ OnClick ของปุ่ม BtnAdd AddToList ได้ สิ่งนี้จะทำให้โปรแกรมของคุณอ่านง่ายขึ้น โดยเฉพาะเมื่อคุณเรียกใช้ตัวจัดการเหตุการณ์ด้วยวิธีการอื่นของคลาส และจะช่วยให้โปรแกรมเมอร์เลือกวิธีเดียวกันสำหรับเหตุการณ์ที่คล้ายกันหรือส่วนประกอบที่แตกต่างกัน
กฎข้อที่ 4: ใช้วิธีการสร้างแบบฟอร์ม
แบบฟอร์มคือคลาส ดังนั้นโค้ดของแบบฟอร์มจึงถูกจัดระเบียบตามวิธีการ คุณสามารถเพิ่มตัวจัดการเหตุการณ์ลงในแบบฟอร์มได้ ตัวจัดการเหล่านี้ทำหน้าที่พิเศษ และสามารถเรียกได้โดยวิธีอื่น นอกเหนือจากวิธีการจัดการเหตุการณ์แล้ว คุณสามารถเพิ่มวิธีการที่กำหนดไว้เป็นพิเศษให้กับแบบฟอร์มเพื่อดำเนินการให้เสร็จสิ้นและวิธีการเข้าถึงสถานะของแบบฟอร์มได้ เป็นการดีกว่าที่จะเพิ่มวิธีการสาธารณะ (สาธารณะ) บางอย่างลงในแบบฟอร์มเพื่อให้แบบฟอร์มอื่น ๆ เรียกมากกว่ารูปแบบอื่น ๆ เพื่อดำเนินการส่วนประกอบโดยตรง
กฎข้อที่ 5: เพิ่มตัวสร้างแบบฟอร์ม
แบบฟอร์มที่สองที่สร้างขึ้น ณ รันไทม์จัดเตรียมคอนสตรัคเตอร์พิเศษ นอกเหนือจากคอนสตรัคเตอร์เริ่มต้น (สืบทอดมาจากคลาส Tcomponent)
ฉันขอแนะนำให้คุณโอเวอร์โหลดเมธอด Create และเพิ่มพารามิเตอร์การเริ่มต้นที่จำเป็น รหัสเฉพาะสามารถพบได้ในรหัสต่อไปนี้:
สาธารณะ
ตัวสร้างสร้าง (ข้อความ: สตริง): แนะนำการโอเวอร์โหลด;
ตัวสร้าง TformDialog.Create (ข้อความ: สตริง);
เริ่ม
สร้างที่สืบทอดมา (แอปพลิเคชัน);
แก้ไข1.ข้อความ:=ข้อความ;
จบ;
กฎข้อที่ 6: หลีกเลี่ยงตัวแปรร่วม
ควรหลีกเลี่ยงตัวแปรร่วม (ที่กำหนดไว้ในส่วนอินเทอร์เฟซของหน่วย) ด้านล่างนี้เป็นคำแนะนำเกี่ยวกับวิธีการทำเช่นนี้
หากคุณต้องการเก็บข้อมูลเพิ่มเติมสำหรับแบบฟอร์ม คุณสามารถเพิ่มข้อมูลส่วนตัวบางส่วนลงในคลาสของแบบฟอร์มได้ ในกรณีนี้ แต่ละอินสแตนซ์ของฟอร์มจะมีสำเนาข้อมูลของตัวเอง คุณสามารถใช้ตัวแปรหน่วย (ตัวแปรที่กำหนดไว้ในส่วนการใช้งานของหน่วย) เพื่อประกาศข้อมูลที่ใช้ร่วมกันโดยหลายอินสแตนซ์ของคลาสแบบฟอร์ม
หากคุณต้องการแชร์ข้อมูลระหว่างแบบฟอร์มประเภทต่างๆ คุณสามารถกำหนดแบบฟอร์มเหล่านั้นในแบบฟอร์มหลักเพื่อให้เกิดการแชร์ หรือใช้ตัวแปรร่วม ใช้วิธีการหรือคุณสมบัติเพื่อรับข้อมูล
กฎข้อที่ 7: ห้ามใช้ Form1 ภายในคลาส Tform1
คุณควรหลีกเลี่ยงการใช้ชื่อวัตถุเฉพาะในวิธีการของคลาส กล่าวอีกนัยหนึ่ง คุณไม่ควรใช้ Form1 โดยตรงในวิธีการของคลาส TForm1 หากคุณต้องการใช้วัตถุปัจจุบันจริงๆ คุณสามารถใช้คำสำคัญ Self ได้
กฎข้อที่ 11: เปิดเผยคุณสมบัติของส่วนประกอบ
เมื่อคุณต้องการเข้าถึงสถานะของแบบฟอร์มอื่น คุณไม่ควรเข้าถึงส่วนประกอบของแบบฟอร์มนั้นโดยตรง เนื่องจากสิ่งนี้จะรวมโค้ดของรูปแบบอื่นหรือคลาสอื่นเข้ากับส่วนต่อประสานกับผู้ใช้ และส่วนต่อประสานกับผู้ใช้มักจะเป็นส่วนที่เปลี่ยนแปลงได้มากที่สุดของแอปพลิเคชัน แนวทางที่ดีที่สุดคือการกำหนดคุณสมบัติของฟอร์มสำหรับคุณสมบัติส่วนประกอบที่คุณต้องการเข้าถึง เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถใช้วิธี Get เพื่ออ่านสถานะส่วนประกอบ และวิธีการ Set เพื่อตั้งค่าสถานะส่วนประกอบ
หากคุณจำเป็นต้องเปลี่ยนอินเทอร์เฟซผู้ใช้และแทนที่ส่วนประกอบที่มีอยู่ด้วยส่วนประกอบอื่น สิ่งที่คุณต้องทำคือแก้ไขวิธี Get และวิธี Set ที่เกี่ยวข้องกับคุณสมบัติของส่วนประกอบนี้ โดยไม่ต้องค้นหาและแก้ไขแบบฟอร์มทั้งหมดที่ อ้างอิงส่วนประกอบนี้และซอร์สโค้ดของคลาส สำหรับวิธีการนำไปใช้โดยละเอียด โปรดดูโค้ดด้านล่าง:
ส่วนตัว
ฟังก์ชัน GetText:สตริง;
ขั้นตอน SetText (ค่า const: String);
สาธารณะ
ข้อความคุณสมบัติ:สตริง;
อ่าน GetText เขียน SetText;
ฟังก์ชัน TformDialog.GetText:String;
เริ่ม
ผลลัพธ์:=แก้ไข1.ข้อความ;
จบ;
ขั้นตอน TformDialog.SetText (ค่า const: String);
เริ่ม
แก้ไข1.ข้อความ;=ค่า;
จบ;
กฎข้อที่ 16: การสืบทอดรูปแบบภาพ
หากใช้อย่างถูกต้อง นี่อาจเป็นเครื่องมือที่ทรงพลังได้ ตามประสบการณ์ของผม ยิ่งคุณพัฒนาโครงการใหญ่เท่าไรก็ยิ่งมีคุณค่ามากขึ้นเท่านั้น ในโปรแกรมที่ซับซ้อน คุณสามารถใช้ลำดับชั้นของแบบฟอร์มที่แตกต่างกันเพื่อจัดการกับความหลากหลายในกลุ่มของแบบฟอร์มที่เกี่ยวข้องกัน
การสืบทอดฟอร์มแบบวิชวลช่วยให้คุณสามารถแชร์การดำเนินการทั่วไปของหลายฟอร์มได้: คุณสามารถใช้วิธีการที่ใช้ร่วมกัน คุณสมบัติทั่วไป แม้กระทั่งตัวจัดการเหตุการณ์ ส่วนประกอบ คุณสมบัติส่วนประกอบ วิธีการจัดการเหตุการณ์ส่วนประกอบ และอื่นๆ
สำหรับข้อมูลเพิ่มเติม โปรดดู: http://lincosoft.go.nease.net/