สองเซ็นต์ของฉันเกี่ยวกับการเขียนโปรแกรมเชิงมุมมอง

AOP (การเขียนโปรแกรมเชิงลักษณะ) เป็นรูปแบบการเขียนโปรแกรมที่สามารถนำมาใช้เพื่อกำหนดนโยบายบางอย่างซึ่งจะใช้ในการกำหนดและจัดการข้อกังวลในการตัดขวางในแอปพลิเคชัน โดยพื้นฐานแล้วมันเป็นกระบวนทัศน์การเขียนโปรแกรมที่ช่วยให้แอปพลิเคชันของคุณสามารถปรับให้เข้ากับการเปลี่ยนแปลงได้

ดังนั้นเมื่อคุณใช้ประโยชน์จาก AOP ในแอปพลิเคชันของคุณคุณสามารถเพิ่มความเป็นโมดูลาร์ของแอปพลิเคชันของคุณผ่านการแยกข้อกังวล คุณสามารถใช้ AOP เพื่อลดความยุ่งเหยิงของโค้ดโดยการปรับปรุงความสามารถในการอ่านและการบำรุงรักษาโค้ดของคุณ

ควรสังเกตว่า AOP เป็นเพียงกระบวนทัศน์การเขียนโปรแกรมใหม่ แต่ไม่ได้แทนที่ OOP แต่อย่างใด แต่เป็นการเติมเต็ม OOP ด้วยการมอบวิธีอื่นในการสร้างความเป็นโมดูลาร์และลดความยุ่งเหยิงของโค้ด

ใน AOP แง่มุมหนึ่งอาจถูกกำหนดให้เป็นการแยกส่วนของข้อกังวล ดังนั้นรูปแบบของการเขียนโปรแกรมนี้จึงมีชื่อว่าการเขียนโปรแกรมเชิงแง่มุม ใน OOP คุณสามารถใช้ประโยชน์จากคลาสเพื่อให้เกิดความเป็นโมดูลาร์ได้ ในทางตรงกันข้ามคุณสามารถบรรลุความเป็นโมดูลาร์ใน AOP ผ่านแง่มุมต่างๆ

สาระสำคัญของ AOP คือการห่อหุ้มฟังก์ชันที่พบได้ทั่วไปในขณะเดียวกันก็ช่วยให้แอปพลิเคชันของคุณใช้ประโยชน์จากฟังก์ชันเหล่านั้นได้ตามต้องการ ฟังก์ชันทั่วไปดังกล่าวหรือข้อกังวลข้ามขั้นตอน ได้แก่ การจัดการความปลอดภัยการบันทึกการแจ้งเตือนการจัดการธุรกรรมการจัดการข้อยกเว้น ฯลฯ กรอบงาน AOP ยอดนิยมบางส่วน ได้แก่ PostSharp, Spring framework, Castle Windsor, Microsoft Unity framework, Policy Injection Block เป็นต้น

ทำความคุ้นเคยกับคำศัพท์ AOP

เมื่อทำงานกับ AOP คุณควรทำความคุ้นเคยกับแนวคิดหลักบางประการของมัน ซึ่งรวมถึงสิ่งต่อไปนี้:

  • แง่มุม: ปัญหาการตัดขวางหรือโมดูลที่ใช้ซ้ำได้ คุณสามารถมีด้านใดด้านหนึ่งหรือมากกว่านั้นในแอปพลิเคชัน
  • บทนำ: คุณลักษณะที่ใช้เพื่อประกาศวิธีการและแอตทริบิวต์เพิ่มเติมสำหรับประเภทเฉพาะ
  • Join Point: จุดที่คุณสามารถเสียบมุมมอง
  • คำแนะนำ: การดำเนินการที่ดำเนินการที่จุดเชื่อมต่อเฉพาะ นอกจากนี้ยังใช้เพื่อกำหนดการดำเนินการที่ควรดำเนินการก่อนหน้าหรือดำเนินการตามวิธีการสำเร็จ
  • การทอผ้า: ช่วยแก้ปัญหารหัสที่พันกันของคุณ ช่วยให้คุณสามารถเชื่อมโยงแง่มุมต่างๆกับวัตถุอื่น ๆ ของแอปพลิเคชัน โปรดทราบว่าขึ้นอยู่กับว่าการทอจะเกิดขึ้นเมื่อใดคุณสามารถรวบรวมเวลาในการรวบรวมเวลาในการโหลดหรือการทอแบบรันไทม์ได้
  • วัตถุเป้าหมาย: วัตถุเป้าหมายอาจถูกกำหนดให้เป็นวัตถุที่ได้รับคำแนะนำจากด้านใดด้านหนึ่งในแอปพลิเคชันของคุณ
  • Pointcut: ระบุกฎการทอผ้ากล่าวคือใช้เพื่อกำหนดจุดเชื่อมต่อที่สามารถใช้คำแนะนำเฉพาะในแอปพลิเคชันของคุณได้

ทำไมฉันจึงควรใช้ AOP ต่อไป?

OOP ส่งเสริมการใช้ซ้ำและความยืดหยุ่นของโค้ดอยู่แล้ว แล้วทำไมคุณถึงต้องการ AOP? AOP เป็นกระบวนทัศน์การเขียนโปรแกรมที่มีประโยชน์ทั้งหมดของ OOP เช่นกัน ที่เพิ่มเข้ามานี้คุณสามารถส่งเสริมการมีเพศสัมพันธ์แบบหลวม ๆ และเปิดใช้งานแอปพลิเคชันของคุณเพื่อใช้แง่มุมที่เสียบได้ตามความจำเป็นและเมื่อจำเป็นเพื่อป้องกันการเปลี่ยนแปลงรหัสแอปพลิเคชัน ในการใช้ AOP คุณสามารถมุ่งเน้นไปที่ตรรกะทางธุรกิจของแอปพลิเคชันของคุณในขณะเดียวกันก็สานแง่มุมต่างๆให้เข้ากับตรรกะทางธุรกิจ ประโยชน์ที่สำคัญอย่างหนึ่งของการใช้ AOP คือคุณต้องเขียนแง่มุมของคุณเพียงครั้งเดียวจากนั้นคุณสามารถนำมาใช้ซ้ำได้ทุกที่ที่คุณต้องการในแอปพลิเคชันของคุณ ดังนั้น AOP จึงเป็นวิธีที่ยอดเยี่ยมในการลดความซับซ้อนของซอร์สโค้ดของแอปพลิเคชันของคุณและทำให้โค้ดของคุณสะอาด ประโยชน์ของ AOP ได้แก่ :

  • ลดความยุ่งเหยิงของรหัส
  • ลดความซ้ำซ้อนของรหัส
  • การบำรุงรักษาโค้ดที่ง่ายขึ้น
  • การพัฒนาที่เร็วขึ้น
  • ปรับปรุงการอ่านรหัส

ฉันจะบรรลุ AOP ในใบสมัครของฉันได้อย่างไร?

ในการใช้ AOP ในแอปพลิเคชันของคุณสิ่งแรกที่คุณต้องทำคือแยกแง่มุมต่างๆในแอปพลิเคชันของคุณออกจากตรรกะทางธุรกิจ สิ่งที่สำคัญที่สุดที่คุณควรคำนึงถึงในขณะที่ออกแบบแง่มุมคือควรเป็นอิสระและไม่ควรพึ่งพาแอปพลิเคชันใด ๆ คุณควรจะทดสอบแง่มุมที่เป็นอิสระจากกันได้เช่นกัน จากนั้นคุณควรนำแง่มุมเหล่านั้นไปใช้กับซอร์สโค้ดของแอปพลิเคชันโดยการทอผ้าทุกที่ที่แอปพลิเคชันต้องการ หนึ่งในวิธีที่คุณสามารถใช้ AOP ในแอปพลิเคชันของคุณคือการใช้แอตทริบิวต์