เมื่อความซับซ้อนของการออกแบบโปรแกรมเพิ่มขึ้นวิธีการเขียนโปรแกรมที่มีโครงสร้างจึงไม่เพียงพอ สาเหตุที่ไม่เพียงพอคือไม่สะดวกที่จะนำรหัสกลับมาใช้ใหม่ วิธีการที่มุ่งเน้นวัตถุนั้นเกิดมาและตระหนักถึงฟังก์ชั่นการใช้รหัสซ้ำที่ครอบคลุมโดยการสืบทอด นักเรียนหลายคนกำลังสมัครทำงาน ฉันบอกเขาว่าตราบใดที่คุณพูดอะไรสักคำก็เพียงพอแล้วสำหรับการเขียนโปรแกรมเชิงวัตถุเพื่อบรรจุข้อมูล ต่อมานักเรียนคนหนึ่งพบคำถามนี้อีกครั้งและมีเพียงคำตอบง่ายๆอีกฝ่ายมองนักเรียน (นักเรียนในภายหลังบอกฉันภาคภูมิใจ) ทำไม เพราะหลังจากประสบการณ์และการฝึกฝนอย่างละเอียดสาระสำคัญนี้สามารถปรับปรุงได้
วิธีการออกแบบและความคิดที่มุ่งเน้นวัตถุได้รับการเสนอจริงเร็วเท่าต้นทศวรรษ 1970 วัตถุประสงค์คือ: โปรแกรมบังคับจะต้องจัดการข้อมูลโดยฟังก์ชั่น ด้วยวิธีนี้บรรจุภัณฑ์ของข้อมูลหลีกเลี่ยงวิธีการออกแบบก่อนหน้านี้ จากนั้นคุณสามารถพูดได้ว่าแม้ว่าฉันจะไม่ใช้วัตถุ -วัตถุที่เน้นวัตถุเมื่อฉันต้องการเข้าถึงข้อมูลบางอย่างฉันสามารถเข้าถึงได้โดยเรียกใช้ฟังก์ชันได้หรือไม่? ใช่มันเป็นความจริง แต่ก็ไม่ได้ถูกบังคับ คนที่เฉื่อย ลืมมันโดยตรง i ++ ฮ่าฮ่าเนื่องจากความเกียจคร้านนี้เมื่อโปรแกรมออกมาจากข้อผิดพลาดจึงไม่ง่ายที่จะจับได้ วัตถุ -มุ่งเน้นเป็นภาคบังคับและคุณได้แก้ไขปัญหาขี้เกียจของคุณจากขั้นตอนการรวบรวม
โดยบังเอิญความคิดที่มุ่งเน้นวัตถุนั้นสอดคล้องกับชีวิตประจำวันของเรา ตัวอย่างเช่นฉันวางแผนที่จะโยนถ้วยชาฉันจะโยนมันได้อย่างไร? ง่ายเกินไปหยิบถ้วยชาเดินไปที่ถังขยะโยน! ให้ความสนใจกับการวิเคราะห์กระบวนการนี้ การกระทำที่แต่ละวัตถุสามารถนำไปใช้กับมันมี จำกัด : ถ้วยชาสามารถโยนได้มันสามารถถูกทุบสามารถใช้ในการดื่มน้ำคุณสามารถเคาะมันออกมา ... ; สามารถคุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถ, คุณสามารถทำได้คุณสามารถเขียนได้คุณสามารถฉีกขาดได้คุณสามารถเผาไหม้ได้ ... กล่าวอีกนัยหนึ่งเมื่อมีการกำหนดวัตถุวิธีการจะถูกกำหนด นี่คือชีวิตประจำวันของเรา อย่างไรก็ตามทุกคนคิดเกี่ยวกับการเขียนโปรแกรมของเราและการทำงานของคอมพิวเตอร์ แต่นี่ไม่ใช่กรณี ใช้การดำเนินการ DOS ฉันต้องการลบไฟล์วิธีการอยู่ภายใต้ DOS Prompt: C:> ชื่อไฟล์ <Enter> ให้ความสนใจกับกระบวนการนี้การเคลื่อนไหวอยู่ด้านหน้า (DEL) วัตถุอยู่ด้านหลัง (ชื่อไฟล์) ซึ่งตรงกันข้ามกับวิธีการของวัตถุ ดังนั้นมันเป็นเพียงคำถามมันจะนำผลกระทบอะไรบ้าง? ฮ่าฮ่าทุกคนต้องเห็นปรากฏการณ์นี้: ไม่พบไฟล์ น่าเสียดายที่รายงานคอมพิวเตอร์: ไฟล์อ่านเท่านั้นฮ่าฮ่าความเจ็บปวด :) ดังนั้นการดำเนินงานของ DOS จึงเป็นการละเมิดนิสัยในชีวิตประจำวันของเรา (แน่นอนว่าไม่มีใครคัดค้านมาก่อน) และตอนนี้เนื่องจากการออกแบบที่เน้นการใช้งานปัญหาเหล่านี้ได้รับการแก้ไขเมื่อรวบรวมไม่ใช่เวลาไม่ใช่เวลาไม่ใช่เวลา ไม่ใช่เวลาไม่ใช่ไม่ใช่ไม่ใช่ไม่ใช่ไม่ใช่แทนที่จะเป็นการรวบรวมไม่ใช่ไม่ใช่ไม่ใช่แทนที่จะเป็นการรวบรวมไม่ใช่ไม่ใช่แทนที่จะเป็นการรวบรวมมันไม่ได้รับการแก้ไขไม่ใช่ไม่ใช่ไม่ใช่ ไม่ใช่ไม่ใช่แทนที่จะเป็นการรวบรวมไม่ใช่ไม่ใช่แทนที่จะเป็นการรวบรวมมันไม่ได้รับการแก้ไขไม่ใช่แทนที่จะเป็นการรวบรวมไม่ใช่แทนที่จะเป็นเมื่อวิ่ง obj.fun () สำหรับคำสั่งนี้ไม่ว่าจะเป็นวัตถุหรือฟังก์ชั่นถ้าคุณป้อนปัญหามันจะถูกรายงานเมื่อรวบรวมซึ่งสะดวกสำหรับคุณที่จะแก้ไขแทนที่จะทำผิดพลาดระหว่างการดำเนินการ หนอน.
ในเวลาเดียวกันปัญหาเชิงวัตถุสามารถแก้ปัญหาการใช้รหัสซ้ำได้ ฉันเคยเขียนหมวดหมู่สุนัขที่มีคุณลักษณะ (ตัวแปร): ขนดก, 4 ขา, หางที่มีหางเอียง (คนที่ดึงหางเป็นหมาป่า) จมูกของฉันไวมากฉันชอบกินเนื้อและกระดูก ... . วิธีการคือ (ฟังก์ชั่น): สามารถวิ่งได้กลิ่นและเปลือกไม้ ... ถ้ามันจับเมาส์ผู้คนเรียกมันว่า NOS จำนวนมาก สุนัขเขียนไว้ แต่ในชีวิตจริงของฉันสุนัขที่ฉันเลี้ยงดูนั้นคล้ายกับสุนัขที่ฉันเขียนไว้ก่อนหน้านี้แตกต่างกันเล็กน้อยนั่นคือสุนัขของฉันนั่นคือ: หยิกและยาวจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็ก จมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็กจมูกเล็ก , จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก, จมูกเล็ก ปากเล็ก ... ด้วยเหตุนี้ฉันจึงส่งประเภทใหม่ที่เรียกว่า Haba Dogs บนพื้นฐานของสุนัขรวมถึงคุณสมบัติใหม่ โปรแกรมเสร็จสิ้นแล้วและสามารถนำกลับมาใช้ใหม่ได้สำหรับรหัสที่ถูกต้องก่อนหน้านี้คือประโยชน์ของการเขียนโปรแกรมเชิงวัตถุ ความสำเร็จของฉันเพิ่งยืนอยู่บนไหล่ของยักษ์ แน่นอนถ้าคุณใช้ VC รหัสนำกลับมาใช้ใหม่ที่สุดคือห้องสมุดของ MFC
ตกลงแล้วดูว่าเราใช้ ASP อย่างไร
โดยทั่วไปทุกคนใช้ภาษาสคริปต์เริ่มต้นของ IIS VBScript เป็นเซิร์ฟเวอร์ ASP เพื่อดำเนินการภาษา ตัวอย่างเช่นคุณต้องแสดงห้าระเบียนล่าสุดในหน้าปัจจุบันและนั่นคือ
1. ก่อนกำหนดการเชื่อมต่อของฐานข้อมูลเช่น ::
ต่อไปนี้เป็นเนื้อหาอ้างอิง:
db_path = ../database/cnbruce2005.mdb
SET Conn = Server.CreateObject (ADODB.Connection)
connstr = ผู้ให้บริการ = microsoft.jet.oledb.4.0;
conn.open connstr
2. จากนั้นสร้างคอลเลกชันการบันทึกฐานข้อมูลแยกข้อมูลที่เกี่ยวข้อง
ต่อไปนี้เป็นเนื้อหาอ้างอิง:
ตั้งค่า rs = server.createObject (adodb.oldset)
SQL = เลือก Top 5 * จาก [ข่าว] สั่งซื้อโดย N_ID DESC
Rs.oopen SQL, Conn, 1,1
3. ในที่สุดข้อมูลจะแสดงผ่านวิธีการวนซ้ำ
ต่อไปนี้เป็นเนื้อหาอ้างอิง:
ทำในขณะที่ไม่ใช่ RS.EOF
Response.write RS (n_title)
Rs.Movenext
วง
'นอกจากนี้ยังมีการปิดและการเปิดตัวครั้งสุดท้าย
Rs.close
ตั้งค่า rs = ไม่มีอะไร
จากนั้นก็อยู่ที่นี่ในการตอบสนอง RS (N_TITLE) ดังนั้นโดยธรรมชาติสคริปต์ VBS และ HTML ถูกผสม
มาดูกันถ้ามีหลายหน้าที่ต้องแสดงบันทึก 5 รายการเหล่านี้จำเป็นต้องตั้งค่าวิธีนี้ทุกหน้า นั่นคือวิธีการทำซ้ำ ซ้ำแล้วซ้ำอีก? ฉันจะทำซ้ำได้ที่ไหน
1. สำหรับการเชื่อมต่อของฐานข้อมูลไฟล์การเชื่อมต่อฐานข้อมูลจะถูกสร้างขึ้นโดยตรงและเนื้อหาดังกล่าวข้างต้น
2. ตราบใดที่ต้องใช้ฐานข้อมูลจำเป็นต้องมีการเชื่อมต่อและสามารถรวมการอ้างอิงโดยตรงไปยังไฟล์การเชื่อมต่อฐานข้อมูล
<!-#รวมไฟล์ = conn.asp->
แล้วการทำซ้ำข้างต้นคืออะไร? การเชื่อมต่อฐานข้อมูลแต่ละครั้งซ้ำแล้วซ้ำอีก นี่คือการต่อต้านการทำซ้ำของรหัสทั่วไปบางอย่าง ถ้าคุณบอกว่าฉันต้องการให้หน้านี้แสดง 5 และ 6 แสดง 6 ฉันควรทำอย่างไร? เห็นได้ชัดว่าสิ่งนี้สามารถแก้ไขได้เพียงแค่คำสั่ง SQL ในหน้าปัจจุบัน
โอเคดูต่อไปยังมีซ้ำอีกไหม? ใช่ยกเว้นคำนิยามการสืบค้น SQL อื่น ๆ ซ้ำแล้วซ้ำอีก
ดังนั้นหาวิธีต่อไป: คุณสามารถกำหนดจำนวนสกัดที่สกัดได้หรือไม่? ฉันแค่ต้องการแยกบางส่วน แต่โปรแกรมต้องเขียนเท่านั้น จากนั้นในเวลานี้ฟังก์ชั่นมีประโยชน์ ตัวอย่างเช่นฉันกำหนดฟังก์ชั่นนี้:
ต่อไปนี้เป็นเนื้อหาอ้างอิง:
ฟังก์ชั่น TopNews (TNUM)
ตั้งค่า rs = server.createObject (adodb.oldset)
sql = เลือก top & tnum & * จาก [ข่าว] สั่งซื้อโดย n_id desc
Rs.oopen SQL, Conn, 1,1
ทำในขณะที่ไม่ใช่ RS.EOF
Response.write RS (n_title)
Rs.Movenext
วง
Rs.close
ตั้งค่า rs = ไม่มีอะไร
ฟังก์ชันสิ้นสุด
จากนั้นคุณสามารถใช้ TopNews (5) หรือ TopNews (6) เพื่อให้ความต้องการเสร็จสมบูรณ์
...... เมื่อมองแวบแรกดูเหมือนว่า ASP จะใช้ฟังก์ชั่นซึ่งในที่สุดก็เสร็จสมบูรณ์ เนื่องจากฟังก์ชั่นหลักของโปรแกรมถูกสร้างขึ้นเป็นโมดูลฟังก์ชันคุณต้องเรียกมันโดยตรงเมื่อใช้ฟังก์ชั่นนี้บนหน้าแผนกต้อนรับ