แม้ว่าเว็บไซต์จำนวนมากที่ใช้ ASP ไม่ได้ใช้ส่วนประกอบเลยในบทความนี้ ASP ถือว่าเป็นสะพานเชื่อมระหว่างลูกค้าอินเทอร์เน็ตและส่วนประกอบ
บริการแผนก ASP และส่วนประกอบ
ASP มักใช้เพื่อสร้างไฟล์ HTML หรือ XML เพื่อใช้งานโดยลูกค้าบนเซิร์ฟเวอร์ดังนั้นเราจึงพูดถึงสถานการณ์การใช้งานนี้เป็นหลัก สิ่งนี้ทำให้เกิดคำถามทั่วไป: หากหน้า ASP อยู่บนเซิร์ฟเวอร์พวกเขาจะเป็นส่วนหนึ่งของเลเยอร์ธุรกิจหรือไม่? ในโลกส่วนประกอบคำตอบมักจะไม่ ในขณะที่ ASP ทำงานบนเซิร์ฟเวอร์และอาจอยู่ในพื้นที่เดียวกับแอปพลิเคชันเซิร์ฟเวอร์สิ่งนี้ไม่ได้ทำให้เป็นส่วนหนึ่งของตรรกะทางธุรกิจ
ด้วยเครื่องมืออินเทอร์เฟซผู้ใช้ที่กำลังเติบโตหรือเป็นโซลูชั่นธุรกิจกับธุรกิจมากขึ้นการมีความแตกต่างที่ชัดเจนนี้จะได้รับรางวัลมากมาย
ต้องบอกว่าลองดูที่ชั้นธุรกิจที่สำคัญที่สุดและเกณฑ์การแบ่งชั้นนำเสนอ:
แยกรหัส UI จากตรรกะทางธุรกิจ ซึ่งรวมถึงการเขียนโค้ดควบคู่ไปกับ UI เช่นการใช้วัตถุ MTS ที่ใช้องค์ประกอบภายใน ASP เพื่อแยกออกจากรหัสตรรกะทางธุรกิจราวกับว่ามันอยู่ใน DLL ที่แตกต่างกัน
แยกธุรกรรมออกจากหน้า ASP การทำธุรกรรม ASP นั้นดีมากในบางกรณี แต่ส่วนประกอบและแอปพลิเคชันหลายระดับเปลี่ยนสิ่งนี้ ส่วนประกอบไม่ควรพึ่งพาเลเยอร์ลูกค้าเพื่อจัดการธุรกรรมและความหมายของตรรกะทางธุรกิจ
วางส่วนประกอบที่เป็นตัวแทน (ส่วนประกอบที่ใช้การร้องขอและการตอบกลับ) ในเครื่องเดียวกันและ/หรือประมวลผลเป็นเว็บเซิร์ฟเวอร์ หากวัตถุที่ใช้วัตถุส่วนประกอบภายใน ASP ถูกวางไว้บนเครื่องระยะไกลการโทรทั้งหมดไปยังส่วนประกอบภายในจะเกิดขึ้นในรูปแบบการโทรกลับ เซิร์ฟเวอร์ COM+ ที่เรียกว่าไคลเอนต์ IIS เป็นเซิร์ฟเวอร์ COM+ ซึ่งช่วยลดประสิทธิภาพและการกำหนดค่าความปลอดภัยที่ซับซ้อน วัตถุปรับแต่งเหล่านี้สามารถวางไว้ในแอปพลิเคชัน COM+ ที่ทำเครื่องหมายว่า "การเปิดใช้งานไลบรารี"
ASP มีอยู่บนเซิร์ฟเวอร์ดังนั้นหน้า ASP จะต้องปฏิบัติตามกฎการแบ่งปันทรัพยากรและโปรดจำไว้ว่าการปรับขนาดได้ โปรดดูรายละเอียดด้านล่าง:
ใน "เซสชัน" การจัดการควรพยายามหลีกเลี่ยงสถานะเฉพาะของผู้ใช้
เก็บ ASP ไร้สัญชาติและอนุญาตให้กลุ่มทรัพยากรเป็นไปได้
วิธีการดำเนินงาน
เมื่อประเมินว่าส่วนโค้ดเป็นของตรรกะทางธุรกิจหรือเลเยอร์การนำเสนอให้ถามตัวเองว่า "ถ้าฉันต้องแทนที่หน้า ASP ของฉันด้วยแอปพลิเคชันโทรศัพท์ประเภทปุ่มหรือไม่รหัสนั้นยังมีประโยชน์อยู่หรือไม่" หากคำตอบคือ "ใช่" คุณสามารถลองแบ่งออกเป็นรหัสตรรกะทางธุรกิจหรือรหัสผู้ช่วยผู้ใช้
หากไม่สามารถใช้รหัสหลังจากเปลี่ยนไคลเอนต์หรือเป็นตัวช่วยในการสร้างส่วนต่อประสานผู้ใช้รหัสจะเป็นของเลเยอร์บริการตัวแทน มันอยู่ในหน้า ASP หรือในส่วนประกอบที่ใช้ส่วนประกอบภายใน ASP มันไม่ได้เป็นขององค์ประกอบวัตถุธุรกิจ
เข้าใจความแตกต่างระหว่างเดสก์ท็อปและไคลเอนต์ ASP
ASP เป็นไคลเอนต์พิเศษของส่วนประกอบซึ่งแตกต่างจากแอปพลิเคชัน Win32 แบบดั้งเดิมแบบดั้งเดิมบนเดสก์ท็อป ความแตกต่างหลักสรุปไว้ดังนี้
การจัดการเธรด: ASP เป็นไคลเอนต์แบบมัลติเธรด ซึ่งหมายความว่าอาจมีกิจกรรมที่เกิดขึ้นพร้อมกันจำนวนมากที่ทำงานร่วมกันบางทีอาจจัดการกับหน้า ASP ที่แตกต่างกันในเวลาเดียวกัน ซึ่งหมายความว่าวัตถุนั้นไม่สามารถทำเพื่ออ้างสิทธิ์ได้ว่าเป็นผู้ใช้เพียงคนเดียวที่ครอบครองระบบโดยเฉพาะ การทำเช่นนี้อาจทำให้เกิดปฏิกิริยาที่ไม่คาดคิดเช่นการพัฒนานิสัยที่ไม่ดีในการจัดเก็บวัตถุในเซสชัน ASP หรือตัวแปรแอปพลิเคชัน