ใช้ VFI เพื่อปรับปรุงความสามารถในการนำกลับมาใช้ใหม่ของโปรแกรม Delphi
บทคัดย่อ: โปรแกรมนำกลับมาใช้ใหม่เป็นหนึ่งในตัวชี้วัดที่สำคัญของคุณภาพซอฟต์แวร์ บทความนี้แสดงตัวอย่างของแอปพลิเคชันเฉพาะของ VFI เพื่อปรับปรุงความสามารถในการใช้ซ้ำของโปรแกรมสำหรับ VFI ที่จัดทำโดย Delphi ตัวอย่างนี้แสดงให้เห็นว่าการใช้ VFI สามารถทำให้รหัสโปรแกรมง่ายขึ้นอย่างมากรักษาความสอดคล้องของอินเทอร์เฟซและปรับปรุงประสิทธิภาพการพัฒนาโปรแกรม
คำสำคัญ: ความสามารถในการนำกลับมาใช้ใหม่ Delphi, VFI
1 บทนำ
การใช้ซอฟต์แวร์ซ้ำได้รับการหยั่งรากอย่างลึกซึ้งในใจของผู้คนและความคิดของห้องสมุดที่นำกลับมาใช้ใหม่ได้ถูกเสนอเร็วที่สุดเท่าที่ปี 1968 ในการประชุมวิศวกรรมซอฟต์แวร์ของนาโต้ การใช้ซอฟต์แวร์ซ้ำหรือที่เรียกว่าการใช้ซอฟต์แวร์ซ้ำหรือนำซอฟต์แวร์กลับมาใช้ใหม่มีคำจำกัดความมากมาย คำจำกัดความนี้มีสองด้านที่ต้องรวมอยู่ในการใช้ซอฟต์แวร์ซ้ำ:
1. พัฒนาผลิตภัณฑ์ซอฟต์แวร์ที่ใช้ซ้ำได้อย่างเป็นระบบ ชิ้นส่วนที่อ่อนนุ่มเหล่านี้สามารถเป็นรหัสได้ แต่ไม่ควร จำกัด รหัส แต่ยังสามารถวิเคราะห์ออกแบบการออกแบบข้อมูลทดสอบต้นแบบแผนเอกสารเทมเพลตเฟรมเวิร์ก ฯลฯ
2. ชิ้นส่วนที่อ่อนนุ่มเหล่านี้ถูกใช้อย่างเป็นระบบเป็นโมดูลอาคารเพื่อสร้างระบบใหม่
การใช้ซอฟต์แวร์ซ้ำสามารถนำมาซึ่งประโยชน์มากมายเช่นการปรับปรุงอัตราการสร้างซอฟต์แวร์การพัฒนาวงจรการพัฒนาที่สั้นลงลดค่าใช้จ่ายในการพัฒนาและบำรุงรักษาซอฟต์แวร์การผลิตซอฟต์แวร์ที่ได้มาตรฐานมากขึ้นปรับปรุงคุณภาพการพัฒนาซอฟต์แวร์และเพิ่มความสามารถในการทำงานร่วมกันของระบบซอฟต์แวร์
วันนี้เมื่อเทคโนโลยีที่มุ่งเน้นวัตถุได้กลายเป็นเทคโนโลยีหลักในการพัฒนาซอฟต์แวร์ในปัจจุบันการใช้ซอฟต์แวร์ซ้ำได้รับการยกระดับให้อยู่ในตำแหน่งที่สำคัญ ความสามารถในการนำกลับมาใช้ใหม่เป็นเป้าหมายที่มุ่งเน้นวัตถุและในทางกลับกันเทคโนโลยีที่มุ่งเน้นวัตถุให้วิธีการที่ดีกว่าสำหรับการใช้ซอฟต์แวร์ซ้ำ มันปรับปรุงระดับของการใช้ซอฟต์แวร์ซ้ำจากการใช้ซ้ำระดับต่ำเช่นการใช้ซอร์สโค้ดซ้ำและฟังก์ชั่นการใช้งานไลบรารีซ้ำเพื่อนำกลับมาใช้ซ้ำการใช้ส่วนประกอบซ้ำและอื่น ๆ
2 VFI ใน Delphi
ในฐานะที่เป็นเครื่องมือการพัฒนาเชิงวัตถุ Delphi ใช้ Object Pascal เป็นภาษาและให้สภาพแวดล้อมการพัฒนาภาพเพื่อปรับปรุงประสิทธิภาพของการพัฒนาซอฟต์แวร์อย่างมาก
เช่นเดียวกับเครื่องมือ RAD ทั่วไปเช่น Visual Basic, C ++ Builder, Power Builder ฯลฯ Delphi มีตัวออกแบบฟอร์ม สิ่งที่ทำให้นักออกแบบรูปแบบของ Delphi ไม่เหมือนใครคือ Delphi ขึ้นอยู่กับโครงสร้างกรอบการทำงานที่มุ่งเน้นวัตถุอย่างแท้จริงและการเปลี่ยนแปลงที่เกิดขึ้นกับคลาสฐานจะถูกส่งผ่านไปยังคลาสที่ได้รับทั้งหมด รูปแบบการสืบทอด เทคโนโลยี VFI ช่วยให้นักพัฒนาสามารถสืบทอดแบบฟอร์มอื่น ๆ ในโครงการปัจจุบันหรือไลบรารีวัตถุในปัจจุบันและเมื่อรูปแบบพื้นฐานเปลี่ยนแปลงไปแล้วรูปแบบที่ได้รับจะได้รับการปรับปรุงทันที
รูปแบบการสืบทอดได้กลายเป็นคุณสมบัติในตัวเร็วที่สุดเท่าที่ Delphi 5 ในการสร้างแบบฟอร์มใหม่ตามแบบฟอร์มที่มีอยู่ Delphi จะเปิดกล่องโต้ตอบรายการใหม่โดยใช้ไฟล์เมนูใหม่ กล่องโต้ตอบนี้แสดงรายการวัตถุทั้งหมดในไลบรารีวัตถุ หันไปที่หน้าแบบฟอร์มซึ่งแสดงรายการทั้งหมดที่เพิ่มเข้ามาในไลบรารีวัตถุ
มีสามตัวเลือกสำหรับการเพิ่มแบบฟอร์มลงในโครงการ: คัดลอกสืบทอดและใช้งาน หากเลือกสำเนาหมายถึงการเพิ่มสำเนาของแบบฟอร์มที่เลือกไปยังโครงการปัจจุบัน หากแบบฟอร์มในไลบรารีวัตถุเปลี่ยนไปจะไม่ส่งผลกระทบต่อการคัดลอกในโครงการปัจจุบัน หากเลือกมรดกถูกเลือกหมายความว่ารูปแบบใหม่นั้นได้มาจากแบบฟอร์มที่เลือกและเพิ่มลงในโครงการปัจจุบัน หากแบบฟอร์มในห้องสมุดวัตถุเปลี่ยนไปฟอร์มที่ได้รับจะเปลี่ยนไปเช่นกัน หากเลือกการใช้งานหมายความว่าแบบฟอร์มที่เลือกจะถูกเพิ่มลงในโครงการปัจจุบันโดยตรงราวกับว่าฟอร์มถูกสร้างขึ้นโดยโครงการปัจจุบัน การใช้แบบฟอร์มในการสืบทอดหมายถึงการใช้การสืบทอดด้วยภาพ - VFI
3 ตัวอย่างแอปพลิเคชัน
ต่อไปนี้เป็นตัวอย่างเพื่อแสดงแอปพลิเคชันของ VFI ใน MIS มีความจำเป็นที่จะต้องนับตารางในหลายฐานข้อมูล ฟิลด์ความกว้างของส่วนหัวคอลัมน์ฟิลด์ ฯลฯ ดังนั้นจึงมีการจัดทำแบบฟอร์มสำหรับแต่ละอินเตอร์เฟสทางสถิติเพื่อนำไปใช้
เพื่อให้บรรลุข้อกำหนดนี้เป็นเรื่องปกติที่จะตั้งค่าแบบฟอร์มสถิติแต่ละแบบดังนี้: (เพื่อความสะดวกในการอธิบายชื่อของแต่ละองค์ประกอบด้านล่างใช้ชื่อเริ่มต้น)
1. สร้างแบบฟอร์มใหม่ (ให้คลาสแบบฟอร์มสำหรับแต่ละอินเตอร์เฟสทางสถิติ);
2. วางส่วนประกอบที่ต้องการ (ส่วนประกอบสถานที่เช่น dxdbgrid, wwdbnavigator, opendialog ฯลฯ );
3. ตั้งค่าคุณสมบัติส่วนประกอบ (ปรับการมองเห็นความกว้างของการแสดงผล ฯลฯ ของแต่ละฟิลด์);
3.1: การตั้งค่าเดียวกันสำหรับส่วนประกอบทั้งหมดในรูปแบบเช่นคุณสมบัติชุดข้อมูลของ DataSource1 คุณสมบัติของแหล่งข้อมูลของ DXDBGRID1 และ WWDBNAVIGATOR1 และ WWFilterDialog1 ฯลฯ ;
3.2: ตั้งค่างานที่แตกต่างกันในแต่ละรูปแบบ
4. ตั้งค่าคุณสมบัติเหตุการณ์ของแบบฟอร์มและส่วนประกอบอื่น ๆ (เช่นการเปิดชุดข้อมูลในเหตุการณ์แบบฟอร์มเปิดปิดชุดข้อมูลในเหตุการณ์ปิดแบบฟอร์มและเสร็จสิ้นการส่งออกข้อมูล DXDBGrid ในเหตุการณ์การส่งออก)
ส่วนประกอบหลักในรูปแบบจะแสดงในรูปด้านล่าง:
[เมื่อฉันเผยแพร่มันฉันพบว่ามันคงจะดีถ้าไม่มีภาพนี้ดังนั้นฉันจึงละเว้น]
ในกระบวนการนี้งานบางอย่างมีข้อกำหนดที่แตกต่างกันเช่นงาน 1 และงาน 3 มีแนวโน้มที่จะเกิดข้อผิดพลาดและเมื่อโปรแกรมจำเป็นต้องได้รับการแก้ไขในอนาคตมันไม่ใช่เรื่องง่ายที่จะทำการปรับเปลี่ยนที่สมบูรณ์และละเอียด ตัวอย่างเช่นรหัสที่ใช้การส่งออกข้อมูลใน DXDBGRID1 อาจปรากฏในหลายรูปแบบ แม้ว่าการห่อหุ้มฟังก์ชั่นข้อมูลที่ส่งออกลงในฟังก์ชั่นสามารถทำได้ในระดับหนึ่ง แต่วิธีการที่เรียกว่าในรูปแบบทางสถิติต่างๆสามารถลดรหัสซ้ำ ๆ ได้ อย่างไรก็ตามสำหรับการตั้งค่าคุณสมบัติขององค์ประกอบและการตัดสินของเหตุการณ์ส่วนใหญ่เช่นการพิจารณาว่าจะ "ส่งออกข้อมูลที่เลือก" ความพร้อมใช้งานในเหตุการณ์ป๊อปอัพ Popupmenu จะต้องปรากฏในแต่ละรูปแบบ (แม้ว่าการประมวลผลเหตุการณ์ ONPOPUP ทั่วไปสามารถตั้งค่าในโปรแกรมได้ แต่ก็จำเป็นเพื่อให้แน่ใจว่ารายการเมนู "ข้อมูลที่เลือกส่งออก" มีชื่อเดียวกันหรือหากการตัดสินเกิดขึ้นในโปรแกรมงานที่ซ้ำกันนั้นยังขาดไม่ได้และข้อผิดพลาด มีแนวโน้มที่จะเกิดขึ้นหรือลืมที่จะตั้งค่าคุณสมบัติของรายการเมนู)
หากใช้ VFI งานซ้ำ ๆ เหล่านี้สามารถแก้ไขได้ คุณสามารถตั้งค่าแบบฟอร์มหลัก (ชื่อคลาสคือ tformbasetongji) สำหรับสถิติเหล่านี้แบบฟอร์มมีลักษณะเช่นนี้:
[เมื่อฉันเผยแพร่มันฉันพบว่ามันคงจะดีถ้าไม่มีภาพนี้ดังนั้นฉันจึงละเว้น]
งานซ้ำ ๆ ทั้งหมดเช่นงาน 2, งาน 3.1 และงาน 4 เสร็จสมบูรณ์ในแบบฟอร์มหลัก ตัวอย่างเช่นตั้งรหัสใน OnFormShow: ADODATASET1.OPEN;
หลังจากนั้นแต่ละรูปแบบเฉพาะนั้นสืบทอดมาจากแบบฟอร์มและการตั้งค่าที่ดำเนินการในรูปแบบย่อยต้องการงาน 3.2 เท่านั้น การดำเนินการที่ดำเนินการด้วยวิธีนี้จะช่วยลดปริมาณงานได้อย่างมาก ไม่เพียงแค่นั้นการใช้ VFI ยังสามารถรักษาความสอดคล้องระหว่างแต่ละแบบฟอร์มให้มีลักษณะคล้ายกันดังนั้นจึงมั่นใจได้ว่าจะมีความสอดคล้องของอินเทอร์เฟซซอฟต์แวร์ เนื่องจากการกำจัดงานซ้ำ ๆ มันยังนำมาซึ่งประโยชน์อย่างมากในการบำรุงรักษาซอฟต์แวร์ จะไม่ถูกใช้ในรูปแบบเด็กอีกต่อไป อาจกล่าวได้ว่า VFI ให้การสนับสนุนที่แข็งแกร่งสำหรับการพัฒนาภาพ
4 บทสรุป
วันนี้เมื่อความสามารถในการนำกลับมาใช้ใหม่ได้มากขึ้นเรื่อย ๆ VFI ให้ความเป็นไปได้สำหรับการพัฒนาที่มุ่งเน้นวัตถุด้วยภาพ