คำนำ: ขณะนี้ ฉันกำลังเขียนหนังสือสำหรับโปรแกรมเมอร์ Delphi ผู้มีทักษะในหัวข้อการสร้างโปรแกรมที่ออกแบบมาอย่างดีโดยใช้เทคนิคการเขียนโปรแกรมเชิงวัตถุใน Delphi
หนังสือเล่มนี้ยังอยู่ในขั้นตอนการเขียน ฉันหวังว่าทุกคนจะมีความเข้าใจเบื้องต้นเกี่ยวกับธีมและรูปแบบภาษาของหนังสือเล่มนี้ ในขณะเดียวกัน คุณก็เสนอความคิดเห็นของคุณเองได้ ในฐานะผู้เขียน ฉันหวังว่าหนังสือเล่มนี้จะกลายเป็นหนังสือคลาสสิกในบรรดาหนังสือต้นฉบับของ Delphi ในประเทศ อาจไม่ประสบความสำเร็จ แต่ฉันจะพยายามทำให้ดีที่สุด
ด้วยเหตุผลข้างต้น ผมจึงลงทั้งเล่มไม่ได้ (555 แล้วจะไม่มีใครซื้อ) จึงไม่ควรมีบทต่อๆ ไปในนี้ (อาจจะมีบางส่วนที่ตัดตอนมาก็ได้)
ฉันขอขอบคุณเพื่อนๆ เหล่านั้นที่ให้กำลังใจฉันและให้ความคิดเห็น (ฉันโพสต์ไว้ในฟอรัม Delphi ของ csdn และได้รับการตอบกลับมากมาย ขอบคุณทุกคน) ฉันอยากจะขอบคุณแฟนของฉัน อีสาน ที่คอยสนับสนุนและเป็นแรงบันดาลใจให้ฉันมาโดยตลอด สิ่งที่ฉันทำได้คือเขียนให้ดีและตอบแทนทุกคน ฉันรู้ว่าทุกคน (รวมถึงฉันด้วย) รอคอยหนังสือดีๆ หนักเกินไป!
บทที่ 1 ทำความเข้าใจกับเดลฟีอีกครั้ง
ความเรียบง่ายเป็นสิ่งที่ยากที่สุดในโลกที่จะได้รับมา มันเป็นขีดจำกัดสูงสุดของประสบการณ์และเป้าหมายสูงสุดของอัจฉริยะ ——George Sand คุณเป็นโปรแกรมเมอร์ Delphi ที่เชี่ยวชาญอยู่แล้วและสามารถใช้ Delphi เพื่อเขียนโปรแกรมที่สวยงามและใช้งานได้จริงอย่างรวดเร็ว คุณรัก Delphi เธอได้กลายเป็นส่วนสำคัญในการทำงานและการเรียนของคุณ ฉันคิดว่าสิ่งเหล่านี้เป็นจริง ดังนั้นคุณต้องมีเหตุผลของคุณเองหรือเหตุผลในการเลือก Delphi เป็นเครื่องมือในการพัฒนาตัวเลือกแรกของคุณ อย่างน้อยฉันก็เป็นไปตามสมมติฐานข้างต้นทั้งหมด ตอนนี้สิ่งที่ฉันต้องการแบ่งปันกับคุณคือเหตุผลและเหตุผลที่ฉันเลือก Delphi รวมถึงความเข้าใจของฉันเกี่ยวกับ Delphi คุณสามารถมองว่าฉันเป็นคนคลั่งไคล้ที่สนับสนุน Delphi แม้ว่านั่นจะทำให้ฉันรู้สึกว่าคุณมองฉันอย่างผิวเผินเกินไป ฉันไม่ยอมรับ แต่ฉันก็ไม่รังเกียจ เพราะว่าฉันรักเธอจริงๆ เวอร์ชันของ Delphi ที่ฉันใช้งานครั้งแรกคือ 3.0 ตอนนั้นฉันเพิ่งใช้มันเป็นเครื่องมือ RAD เช่น Visual Basic อย่างไรก็ตาม เมื่อเวลาผ่านไป Delphi 3, Delphi 4, Delphi 5, Delphi 6 และ Kylix มีความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับ Delphi มันเป็นเครื่องมือที่มีความหมายแฝงมากมาย ยิ่งมีคนเข้าใจเธอมากเท่าไร พวกเขาก็ยิ่งหมกมุ่นอยู่กับเธอมากขึ้นเท่านั้น และยิ่งพวกเขารู้สึกแยกจากเธอมากขึ้น แม้ว่ามันยังเป็นเพียงเครื่องมือก็ตาม Pascal เป็นภาษาที่ให้ความสำคัญกับความสวยงามของโปรแกรม - ไม่ต้องสงสัยเลยว่ารหัส Pascal เป็นรหัสที่สวยที่สุด - Delphi ที่ใช้ Object Pascal (ภาษา Pascal ที่รองรับเชิงวัตถุ) นำความงามนี้ไปสู่จุดสูงสุด ตอนนี้คุณสามารถเปิด Delphi ได้แล้ว เลือกเมนู "Help"-"About" เมื่อหน้าต่าง About ปรากฏขึ้น ให้กดปุ่ม Alt ค้างไว้แล้วพิมพ์ "team" ตามลำดับพร้อมกัน คุณเห็นอะไร ใช่ รายชื่อนักพัฒนา Delphi เราขอขอบคุณพวกเขาสำหรับการสร้างเครื่องมือการพัฒนาที่เหมือนกับงานศิลปะ!
1.1 ทฤษฎีเครื่องมือพัฒนา "มุ่งเน้นคน"
คุณมักจะเห็นคำถามเช่นนี้ในฟอรัมการเขียนโปรแกรมต่างๆ: "VB ยังมีอนาคตอยู่หรือไม่"; "Delphi กำลังจะถูกทำลายหรือไม่"; "MFC จะถูกแทนที่ด้วย .NET หรือไม่"... อันที่จริง เหล่านี้เมื่อตั้งคำถามก็ไม่มีใครสามารถตอบได้ เพราะอนาคตของเทคโนโลยีหรือผลิตภัณฑ์ไม่ได้ถูกกำหนดโดยตัวเทคโนโลยีเองทั้งหมด แต่ยังเกี่ยวข้องกับปัจจัยต่างๆ เช่น ความต้องการของตลาด และทิศทางการพัฒนาของบริษัทผู้ผลิต และสิ่งที่เราควรกังวลคือคำตอบสำหรับคำถามเหล่านี้? ฉันคิดว่าไม่ เรารู้ว่าทุกสิ่งในโลกประกอบด้วยอะตอม โปรแกรมที่เปลี่ยนแปลงตลอดเวลาจะประกอบด้วยสามโครงสร้าง: ลำดับ, ลูป และสาขา ทั้ง MFC ของ VC และ VCL ของ Delphi ถูกสร้างขึ้นด้วยเทคโนโลยีเชิงวัตถุ (โดยไม่คำนึงถึงระดับของวัตถุ) -เน้น) เมื่อคุณมองผ่านรูปลักษณ์ภายนอกของสิ่งต่าง ๆ สิ่งที่คุณเห็นคือสาระสำคัญที่เหมือนหรือคล้ายกัน! หลังจากเชี่ยวชาญแก่นแท้แล้วคุณจะพบว่าการปรากฏของรูปลักษณ์นั้นดูเป็นธรรมชาติมาก ลองนึกภาพว่าเมื่อคุณสามารถลอก MFC ออกได้อย่างสมบูรณ์เหมือนกับ Hou Jie (ผู้เขียน "Introduction to MFC") คุณจะยังกังวลว่า MFC จะถูกแทนที่ด้วยเฟรมเวิร์กบางอย่างหรือไม่ จากมุมมองนี้ สำหรับโปรแกรมเมอร์มืออาชีพ แนวคิดของการเขียนโปรแกรมยังคงไม่เปลี่ยนแปลง มีรูปแบบบางอย่างในกระบวนการค้นพบ วิเคราะห์ และแก้ไขปัญหา เมื่อคุณเชี่ยวชาญรูปแบบนี้แล้ว ภาษาการเขียนโปรแกรมที่แตกต่างกันและสภาพแวดล้อมการพัฒนาที่แตกต่างกันจะมีบางอย่างที่เหมือนกันสำหรับคุณ ฉันคิดว่า C++ เป็นสิ่งที่โปรแกรมเมอร์มืออาชีพทุกคนต้องเชี่ยวชาญ แน่นอนว่านี่ไม่ได้หมายถึงเพียงการเรียนรู้ไวยากรณ์ของมัน (คุณสามารถเพิกเฉยต่อการเรียนรู้ไวยากรณ์บางอย่างได้) แต่การเรียนรู้การออกแบบเชิงวัตถุและวิธีการเขียนโปรแกรมผ่าน C ++ เพราะ C++ นั้นกว้างและลึกซึ้ง เพราะ C++ นั้นมีอำนาจทุกอย่าง ใน C++ คุณสามารถเรียนรู้ทั้งหมดเกี่ยวกับทฤษฎีเชิงวัตถุได้ หลังจากเรียนรู้แล้ว คุณจะได้เรียนรู้การเปลี่ยนแปลงด้วย C++ เนื่องจากคุณลักษณะที่ขัดแย้งที่มีอยู่ในทฤษฎีเชิงวัตถุ (เช่น การสืบทอดหลายรายการ) ได้รับการสนับสนุนใน C ++ หลังจากที่คุณเชี่ยวชาญแล้วเท่านั้นจึงจะสามารถเลือกได้เอง (จะหรือจะต่อต้าน) หลังจากเชี่ยวชาญทฤษฎีเชิงวัตถุแล้ว ไม่ว่าจะเป็น C++, Object Pascal, java หรือแม้แต่ C# คุณจะสัมผัสได้ถึงความคล้ายคลึงกัน นั่นหมายความว่าไม่มีความแตกต่างอื่น ๆ ระหว่างเครื่องมือการพัฒนา (บางทีอาจเรียกว่าสภาพแวดล้อมการพัฒนาแบบรวม แต่ฉันจะเรียกว่าเป็นเครื่องมือในการพัฒนาตามนิสัยของฉันด้านล่าง) ยกเว้นภาษาที่พวกเขาสนับสนุน? ไม่แน่นอน เครื่องมือในการพัฒนาเป็นเครื่องมือที่ช่วยให้คุณตระหนักถึงแนวคิดของคุณ ซึ่งเป็นโครงสร้างเสริมที่สร้างขึ้นจากแนวคิดพื้นฐาน ระดับที่เครื่องมือการพัฒนาสนับสนุนแนวคิดที่คุณต้องการนำไปใช้และระดับที่ทำให้กระบวนการนำไปใช้งานง่ายขึ้นคือการพิจารณาเครื่องมือการพัฒนา เครื่องมือพัฒนาสำหรับโปรแกรมเมอร์เปรียบเสมือนอาวุธของทหาร หากอาวุธไม่มีประโยชน์ ครึ่งหนึ่งจะพ่ายแพ้ก่อนการต่อสู้ ฉันชอบสโลแกนโฆษณาของโทรศัพท์มือถือ Nokia มาโดยตลอด: เทคโนโลยีให้ความสำคัญกับผู้คน! ใช่แล้ว "ผู้คน" คือพื้นฐาน และภารกิจของเครื่องมือคือการช่วยให้ผู้คนบรรลุเป้าหมายได้เร็วและง่ายขึ้น ดังนั้นเครื่องมือในการพัฒนาจึงควรคำนึงถึงผู้คนเป็นศูนย์กลางด้วย! ในฐานะโปรแกรมเมอร์และผู้ใช้เครื่องมือในการพัฒนาโดยตรงที่สุด ฉันหวังว่าเครื่องมือการพัฒนาที่ฉันใช้สามารถเป็นพันธมิตรและผู้ช่วยของฉันได้อย่างแท้จริง มันทำให้ฉันรู้สึกถึงอิสรภาพและช่วยให้ฉันสำรวจโลกแห่งโค้ดได้อย่างอิสระ และปรับตัวให้เข้ากับฉันแทนที่จะผูกมัดฉัน! ปัจจุบันบนแพลตฟอร์ม Windows มีเครื่องมือการพัฒนามากมายให้เลือก: Visual C++, Visual Basic, Delphi, C++ Builder, JBuilder... เครื่องมือเหล่านี้ใช้ภาษาการเขียนโปรแกรมที่แตกต่างกันและมีความภักดีต่อแนวคิดผลิตภัณฑ์ของบริษัทต่างๆ จากมุมมองนี้ ความแตกต่างระหว่างพวกเขาใหญ่มาก แล้วเครื่องมือพัฒนาแบบไหนล่ะที่เป็นเลิศ มีน้ำใจ และให้ความสำคัญกับผู้คน? มาตรฐานของฉันคือการบรรลุสี่ประเด็นต่อไปนี้: 1. สามารถลดความซับซ้อนของปัญหาที่จะแก้ไขและนำไปปฏิบัติอย่างรวดเร็วด้วยแนวคิดบางอย่าง 2. อย่าซ่อนรายละเอียดใด ๆ ที่คุณต้องการทราบ 3. สามารถเพิกเฉยต่อรายละเอียดที่คุณไม่ต้องการได้ 4.ริเริ่มมีเครื่องมือในการพัฒนาที่ตรงตามสี่ข้อข้างต้นซึ่งเหมาะสำหรับโปรแกรมเมอร์ระดับต่างๆหรือไม่? คำตอบของฉันคือ: ใช่! นั่นเดลฟี! เธอทำให้ทุกอย่างง่ายขึ้นแต่ไม่เคยหยุดฉันไม่ให้แสวงหาความจริง คุณสามารถทำงานให้เสร็จสิ้นได้ในโลกเสมือนจริง VCL ที่เรียบง่ายที่เธอสร้างขึ้นสำหรับคุณ คุณยังสามารถเจาะลึกโลกของ VCL เพื่อสำรวจความสัมพันธ์ในการทำแผนที่กับโลกแห่งความเป็นจริง (นั่นคืออินเทอร์เฟซที่แท้จริงของแพลตฟอร์ม Windows) และเรียนรู้การออกแบบ Framework ของมัน คุณยังสามารถขยายโลก VCL เสมือนนั้นให้เหมาะกับความต้องการของคุณได้ ฉันรู้สึกโชคดีที่มีเครื่องมือการพัฒนาดังกล่าวอยู่ และโชคดียิ่งกว่านั้นที่ฉันสามารถเลือกเธอและทำงานร่วมกับเธอได้สำเร็จ! (ในความเป็นจริง ภาษาการเขียนโปรแกรมและเครื่องมือการพัฒนาที่ใช้ในโครงการมักจะอยู่นอกเหนือการควบคุมส่วนบุคคลของคุณและจะถูกจำกัดด้วยปัจจัยหลายประการ ตัวอย่างเช่น: สภาพแวดล้อมฮาร์ดแวร์ของลูกค้า สภาพแวดล้อมระบบปฏิบัติการ สภาพแวดล้อมการพัฒนา ต้นทุนและใบอนุญาตของเครื่องมือการพัฒนา . ใบรับรอง ฯลฯ ดังนั้น ฉันโชคดีมากที่สามารถเลือกเครื่องมือการพัฒนาที่ฉันชื่นชอบสำหรับงานพัฒนาได้) การเรียนรู้แนวคิดเชิงวัตถุผ่าน C++ และการใช้ Delphi เพื่อแก้ไขปัญหาในโลกแห่งความเป็นจริงคือแนวทางของฉัน ขณะเดียวกันก็ยังยืนยันคำพูดที่ว่า: เรียนรู้จากที่ยากและประยุกต์จากที่ง่าย โปรแกรมเมอร์ตัวจริงใช้ C++ โปรแกรมเมอร์อัจฉริยะใช้ Delphi โปรแกรมเมอร์ที่ฉลาดจริงๆ ใช้ C++ เพื่อทำความเข้าใจ Delphi!
1.2 ข้อดีเพิ่มเติมของ Delphi
ฉันใช้เครื่องมือพัฒนากระแสหลักมากมาย ทำไมฉันถึงเลือก Delphi อาจเป็นเพราะฉันไม่คุ้นเคยกับเครื่องมือการพัฒนาอื่นๆ ในเชิงลึก แต่ความเป็นเลิศของ Delphi เองก็เป็นหนึ่งในเหตุผลอย่างน้อยที่สุด! มีอะไรที่ยอดเยี่ยมเกี่ยวกับ Delphi? การพัฒนา Delphi อย่างมีประสิทธิภาพคือ RAD (Rapid application Development tool) ซึ่งมีสภาพแวดล้อมการพัฒนาด้วยภาพ แน่นอนว่ามีเครื่องมือการพัฒนามากมายที่มีฟังก์ชันคล้ายกัน (เช่น Visual Basic) แต่ Delphi มีคุณสมบัติพิเศษดังต่อไปนี้: ) Delphi เป็นแบบเชิงวัตถุอย่างแท้จริง ส่วนประกอบทั้งหมดในไลบรารี VCL ที่สร้างขึ้นบนเทคโนโลยี OO สามารถสืบทอดเพื่อสร้างส่วนประกอบใหม่ได้ รวมถึงฟอร์มคลาส TForm ในทางตรงกันข้าม ส่วนประกอบ ActiveX ขาดความยืดหยุ่นนี้ 2) เทคโนโลยี CodeInsight ของ Delphi (เช่น ฟังก์ชันการเติมโค้ดอัตโนมัติ) ขึ้นอยู่กับข้อมูลคอมไพเลอร์ ในขณะที่ VB ใช้ข้อมูลไลบรารีประเภท ข้อดีของการใช้ข้อมูลคอมไพเลอร์คือความยืดหยุ่นมากกว่า อย่างไรก็ตาม โปรแกรมเมอร์มักบ่นว่าโค้ดของ Delphi ใช้เวลานานเกินไป จริงๆ แล้ว โดยส่วนตัวแล้วฉันรู้สึกว่าหลังจากคุ้นเคยกับความเร็วแล้ว ฉันจะสามารถสัมผัสถึงความสุขเป็นจังหวะได้ ภาษา Delphi ที่มีประสิทธิภาพนั้นใช้ภาษา Object Pascal นี่เป็นภาษาเชิงวัตถุแต่งดงามอย่างแท้จริง มันไม่ได้ด้อยกว่าภาษาเชิงวัตถุอื่น ๆ ในแง่ของความสมบูรณ์ของการทำงาน แต่ในขณะเดียวกันก็ไม่โลภที่จะเพิ่มความซับซ้อนมากขึ้นเรื่อย ๆ ช่วยให้นักพัฒนาได้รับการสนับสนุนอย่างสมบูรณ์เมื่อออกแบบโดยใช้รูปแบบต่างๆ โดยไม่ต้องพิจารณารายละเอียดภาษา/คอมไพเลอร์มากเกินไประหว่างการใช้งาน ประสิทธิภาพการคอมไพล์ อาจกล่าวได้ว่า Delphi คือคอมไพเลอร์โค้ดท้องถิ่นภาษาระดับสูงที่เร็วที่สุดบนแพลตฟอร์ม Windows การรวบรวมอย่างรวดเร็วมีประโยชน์อย่างไร? คอมไพเลอร์ที่รวดเร็วช่วยให้คุณสามารถสลับระหว่างการแก้ไขโค้ดและการคอมไพล์และรันได้บ่อยครั้ง อย่างน้อยฉันก็คุ้นเคยกับวิธีการทำงานนี้มาก: เรียกใช้โปรแกรมเพื่อดูเอฟเฟกต์ ออกจากโปรแกรม แก้ไขโค้ดจำนวนเล็กน้อย จากนั้นจึงเรียกใช้โปรแกรม และคอมไพเลอร์ของ Delphi ไม่เคยทำให้ฉันรู้สึกต้องรอ การดำเนินการที่มีประสิทธิภาพ Delphi ไม่เพียงแต่มีความเร็วในการคอมไพล์ที่รวดเร็วเท่านั้น แต่ยังมีประสิทธิภาพในการดำเนินการของโค้ดเป้าหมายที่สร้างขึ้นที่สูงมากอีกด้วย Delphi และ C++ Builder ใช้เครื่องมือเพิ่มประสิทธิภาพแบ็คเอนด์ตัวเดียวกัน ดังนั้นโค้ดที่สร้างขึ้นจากเครื่องมือนี้จึงมีประสิทธิภาพพอๆ กับโค้ดที่สร้างโดยคอมไพเลอร์ C++ ที่ยอดเยี่ยม Delphi สร้างโค้ดแบบเนทีฟโดยสมบูรณ์ ดังนั้นไฟล์ปฏิบัติการที่เกิดจากการคอมไพล์ Delphi จึงสามารถดำเนินการและแจกจ่ายได้อย่างอิสระ (ซึ่งเป็นสิ่งสำคัญมากสำหรับการพัฒนา "ซอฟต์แวร์สีเขียว") ไม่จำเป็นต้องมีการสนับสนุนรันไทม์อื่นๆ แน่นอน คุณสามารถเลือกการคอมไพล์ลิงก์แบบไดนามิก ซึ่งสามารถลดความยาวของไฟล์ปฏิบัติการได้อย่างมาก อย่างไรก็ตาม ในกรณีนี้ เมื่อแจกจ่ายโปรแกรม จะต้องกระจายไฟล์รันไทม์ที่จำเป็นพร้อมกัน การบำรุงรักษาที่มีประสิทธิภาพ C++ ให้อำนาจในการตัดสินใจอย่างมากแก่โปรแกรมเมอร์ ดังนั้นจึงมีประสิทธิภาพมาก อย่างไรก็ตาม ในเวลาเดียวกัน การใช้ C++ เพื่อเขียนโค้ดเชิงวัตถุที่ยอดเยี่ยมนั้น โปรแกรมเมอร์จะต้องมีคุณสมบัติบางอย่าง โปรแกรมเมอร์ Delphi จะถูกจำกัดอยู่ในเฟรมเวิร์กที่ VCL จัดเตรียมไว้ในระดับหนึ่ง (แน่นอน คุณสามารถกำจัดการเขียนโปรแกรม VCL ใน Delphi ได้) Visual Basic ไม่มีกลไกการเขียนโปรแกรมเชิงวัตถุเลย (VB6.0 และเวอร์ชันก่อนหน้าจะขึ้นอยู่กับวัตถุ ไม่ใช่เชิงวัตถุ) ความเป็นเลิศของเฟรมเวิร์กโค้ดช่วยลดต้นทุนการบำรุงรักษาซอฟต์แวร์ได้อย่างมาก จากเหตุผลข้างต้นทั้งหมด ฉันจึงเลือก Delphi!
1.3 สาระสำคัญของหนังสือเล่มนี้
โดยปกติแล้วเรามักจะเขียนโค้ดจำนวนมากเพื่อบริษัท เพื่อตัวเราเองหรือเพื่อเพื่อน บางครั้ง เพื่อยืนยันความคิดหรือเรียนรู้เทคโนโลยีบางอย่าง ฉันจะเขียนโค้ดทดลอง วงจรชีวิตของโค้ดดังกล่าวสั้นมากและโดยพื้นฐานแล้วไม่ต้องการการบำรุงรักษา คุณสามารถเขียนมันได้ตามที่คุณต้องการ อย่างไรก็ตาม เมื่อคุณต้องการทำให้โปรเจ็กต์เสร็จสมบูรณ์ การออกแบบโค้ดมีความสำคัญมาก เนื่องจากโค้ดดังกล่าวต้องการการบำรุงรักษาในระยะยาว การแก้ไขหรือการปรับปรุงอย่างต่อเนื่อง การออกแบบโค้ดที่ไม่เป็นระเบียบทำให้การบำรุงรักษาทำได้ยากหรือเป็นไปไม่ได้ และการแก้ไขโค้ดดังกล่าวทำให้เกิดข้อบกพร่องหรือภัยพิบัติเพิ่มมากขึ้น ดังนั้นก่อนจะเขียนโค้ดได้ จะต้องออกแบบก่อน การออกแบบที่กล่าวถึงในที่นี้ไม่ได้หมายถึงการออกแบบฟังก์ชั่น แต่หมายถึงการออกแบบโค้ดเฟรมเวิร์กโดยโปรแกรมเมอร์ก่อนการเขียนโค้ด เพื่อให้โค้ดเข้าใจและบำรุงรักษาได้ง่ายขึ้นในอนาคต ฉันมักจะได้ยินคำพูดที่ว่า: ชีวิตโปรแกรมเมอร์มีอายุเพียง 35 ปีเท่านั้น ฉันไม่เคยเชื่อว่าอายุขัยของโปรแกรมเมอร์จะอยู่ที่ 35 ปีเท่านั้น บางทีหลังจากอายุ 35 ปี ความสามารถในการนำไปใช้งาน (จริงๆ แล้วคือความสามารถด้านงานฝีมือ) อาจจะลดลง ในขณะที่ความสามารถในการออกแบบไม่ได้ลดลงแต่เพิ่มขึ้นตามประสบการณ์ที่เพิ่มขึ้น นี่คือสิ่งที่มีค่าที่สุด กระดูกสันหลังของทีมพัฒนาซอฟต์แวร์ต่างประเทศโดยทั่วไปคือผู้ที่มีอายุประมาณ 40 ปี ผู้ที่เรียกตัวเองว่าโปรแกรมเมอร์ที่ไม่สามารถเป็นโปรแกรมเมอร์ได้หลังอายุ 35 ปี จะไม่มีคุณสมบัติที่จะเรียกว่าโปรแกรมเมอร์เลย วิศวกรรมซอฟต์แวร์จำเป็นต้องเปลี่ยนโปรแกรมเมอร์ให้เป็นผู้เขียนโค้ดและกลายเป็นตัวเชื่อมโยงในสายการประกอบ และงานออกแบบจะเสร็จสมบูรณ์โดยนักออกแบบที่เชี่ยวชาญ (เช่น นักออกแบบเฟรมเวิร์ก) บางทีแนวโน้มคือการปรับปรุงการแบ่งงาน แต่ไม่ว่าเราจะพอใจกับการเป็นผู้เขียนโค้ดหรือหวังว่าจะเติบโตเป็นนักออกแบบก็ขึ้นอยู่กับวิสัยทัศน์และความพยายามของเรา เปิดโลกทัศน์ของคุณ แทนที่จะจำกัดตัวเองและดื่มด่ำกับ "การบรรลุถึงระดับปรมาจารย์" ความสามารถในการตระหนักรู้เป็นรากฐานเท่านั้นที่เราจะเติบโตได้ อย่างไรก็ตาม มันเป็นเพียงเงื่อนไขที่จำเป็นเท่านั้น ยังไม่เพียงพอ ไม่อย่างนั้นก็คงเหมือนปีนขึ้นไปบนไหล่เขาแล้วคิดว่าถึงยอดเขาแล้วซบเซา จากนั้น คุณก็สามารถเป็นได้เพียงผู้เขียนโค้ดเท่านั้น และโปรแกรมของคุณมีอายุเพียง 35 ปีเท่านั้น หลังจากได้รับมุมมองนี้แล้ว ฉันหวังว่าหนังสือเล่มนี้จะช่วยให้คุณเริ่มต้นได้ หนังสือที่เกี่ยวข้องกับ Delphi ที่ตีพิมพ์ในประเทศจีนโดยพื้นฐานแล้วจะอธิบายการใช้งาน ชื่อของหนังสือเล่มนี้คือ "Breakthrough by Delphi Masters" ดังนั้น สมมติว่าตอนนี้คุณเป็นปรมาจารย์ของเดลฟีแล้ว ดังนั้นหนังสือเล่มนี้จะไม่ครอบคลุมถึงเทคนิคการใช้งานมากเกินไป แม้ว่าจะมีโค้ดตัวอย่าง แต่จุดเน้นอยู่ที่การออกแบบสถาปัตยกรรม ไม่ใช่การใช้งาน ณ จุดนี้ คุณอาจเดาธีมของหนังสือเล่มนี้ได้แล้ว: วิธีใช้เทคโนโลยีเชิงวัตถุใน Delphi เพื่อสร้างโค้ดที่ออกแบบมาอย่างดี ในความคิดของฉัน การเขียนโค้ดคือการสร้างสรรค์ทางศิลปะ โค้ดที่หรูหรานั้นอธิบายได้ในตัวโดยไม่จำเป็นต้องแสดงความคิดเห็นมากเกินไป เมื่อมีความคิดเห็นมากเกินไป ก็ถึงเวลาพิจารณาว่าการออกแบบนั้นสมเหตุสมผลหรือไม่ การเขียนหนังสือควรเป็นการสร้างสรรค์ทางศิลปะด้วย หากคุณสามารถบอกผู้อ่านถึงความเข้าใจและประสบการณ์ทางศิลปะของตัวเองได้โดยไม่ต้องใช้ "คำอธิบายประกอบ" มากเกินไป (เรื่องไร้สาระที่เปลืองพื้นที่) ก็จะประสบความสำเร็จอย่างมาก ฉันหวังว่าฉันจะทำได้ อย่างน้อยก็พยายามทำให้ดีที่สุด
1.4 สรุป
ฉันเชื่อว่าเป็นสิ่งที่หลีกเลี่ยงไม่ได้สำหรับฉันที่จะเริ่มต้นเส้นทางของการเขียนโปรแกรม ความสามารถในการเป็นโปรแกรมเมอร์มืออาชีพคือสิ่งที่ฉันใฝ่ฝันและตระหนัก อย่างไรก็ตาม ควรจะบอกว่ารูปร่างหน้าตาของ Delphi และความจริงที่ว่าฉันได้รู้จัก เริ่มคุ้นเคยกับมัน เริ่มหมกมุ่นอยู่กับมัน และกลายเป็นส่วนหนึ่งของงานของฉัน เป็นเรื่องที่น่าประหลาดใจที่ไม่คาดคิด สิ่งที่ฉันอยากจะพูดที่นี่คือคุณควรยืนกรานกับตัวเองให้มากกว่านี้ เมื่อคุณวางตำแหน่งตัวเองได้ชัดเจนและรู้เส้นทางที่คุณเลือกอย่างชัดเจน คุณไม่จำเป็นต้องมีข้อสงสัยหรือข้อกังวลใดๆ อีกต่อไป และเพียงแค่เดินหน้าต่อไป แม้ว่าสุดท้ายแล้วฉันอาจจะไม่ประสบความสำเร็จ (แน่นอนว่าคำจำกัดความของความสำเร็จของทุกคนนั้นแตกต่างกัน) ฉันก็รักสิ่งที่ฉันรักโดยไม่เสียใจเลย!