สถาปัตยกรรมเชิงปฏิสัมพันธ์
วัตถุประสงค์หลักของสถาปัตยกรรมที่เน้นการโต้ตอบคือการแยกปฏิสัมพันธ์ของผู้ใช้ออกจากข้อมูลที่เป็นนามธรรมและการประมวลผลข้อมูลทางธุรกิจ สถาปัตยกรรมซอฟต์แวร์ที่เน้นการโต้ตอบจะแยกย่อยระบบออกเป็นสามพาร์ติชันหลัก -
Data module - โมดูลข้อมูลให้ข้อมูลที่เป็นนามธรรมและตรรกะทางธุรกิจทั้งหมด
Control module - โมดูลควบคุมระบุขั้นตอนของการควบคุมและการดำเนินการกำหนดค่าระบบ
View presentation module - โมดูลการนำเสนอมุมมองมีหน้าที่ในการนำเสนอภาพหรือเสียงของเอาต์พุตข้อมูลและยังมีอินเทอร์เฟซสำหรับการป้อนข้อมูลของผู้ใช้
สถาปัตยกรรมที่เน้นปฏิสัมพันธ์มีสองรูปแบบใหญ่ ๆ - Model-View-Controller (MVC) และ Presentation-Abstraction-Control(PAC). ทั้ง MVC และ PAC เสนอการสลายองค์ประกอบสามส่วนและใช้สำหรับแอปพลิเคชันแบบโต้ตอบเช่นเว็บแอปพลิเคชันที่มีการพูดคุยหลายครั้งและการโต้ตอบกับผู้ใช้ พวกเขามีความแตกต่างกันในขั้นตอนการควบคุมและองค์กร PAC เป็นสถาปัตยกรรมลำดับชั้นแบบเอเจนต์ แต่ MVC ไม่มีโครงสร้างลำดับชั้นที่ชัดเจน
รุ่นดูคอนโทรลเลอร์ (MVC)
MVC แยกแอปพลิเคชันซอฟต์แวร์ที่ระบุออกเป็นสามส่วนที่เชื่อมต่อกันซึ่งช่วยในการแยกการแสดงข้อมูลภายในออกจากข้อมูลที่นำเสนอหรือยอมรับจากผู้ใช้
โมดูล | ฟังก์ชัน |
---|---|
รุ่น | การห่อหุ้มข้อมูลพื้นฐานและตรรกะทางธุรกิจ |
ตัวควบคุม | ตอบสนองต่อการกระทำของผู้ใช้และกำหนดทิศทางของแอปพลิเคชัน |
ดู | จัดรูปแบบและนำเสนอข้อมูลจากแบบจำลองไปยังผู้ใช้ |
รุ่น
Model เป็นส่วนประกอบหลักของ MVC ที่จัดการข้อมูลตรรกะและข้อ จำกัด ของแอปพลิเคชันโดยตรง ประกอบด้วยส่วนประกอบข้อมูลซึ่งรักษาข้อมูลดิบของแอปพลิเคชันและตรรกะของแอปพลิเคชันสำหรับส่วนต่อประสาน
เป็นอินเทอร์เฟซผู้ใช้ที่เป็นอิสระและจับพฤติกรรมของโดเมนปัญหาแอปพลิเคชัน
เป็นการจำลองซอฟต์แวร์เฉพาะโดเมนหรือการใช้โครงสร้างกลางของแอปพลิเคชัน
เมื่อมีการเปลี่ยนแปลงสถานะจะแจ้งเตือนไปยังมุมมองที่เกี่ยวข้องเพื่อสร้างเอาต์พุตที่อัปเดตและคอนโทรลเลอร์ให้เปลี่ยนชุดคำสั่งที่มีอยู่
ดู
มุมมองสามารถใช้เพื่อแสดงผลลัพธ์ของข้อมูลในรูปแบบกราฟิกเช่นแผนภาพหรือแผนภูมิ ประกอบด้วยองค์ประกอบการนำเสนอที่ให้การแสดงข้อมูลด้วยภาพ
ดูข้อมูลร้องขอจากโมเดลของพวกเขาและสร้างการแสดงผลลัพธ์ให้กับผู้ใช้
สามารถดูข้อมูลเดียวกันได้หลายมุมมองเช่นแผนภูมิแท่งสำหรับการจัดการและมุมมองแบบตารางสำหรับนักบัญชี
ตัวควบคุม
คอนโทรลเลอร์ยอมรับอินพุตและแปลงเป็นคำสั่งสำหรับโมเดลหรือมุมมอง ประกอบด้วยส่วนประกอบการประมวลผลอินพุตซึ่งจัดการอินพุตจากผู้ใช้โดยการปรับเปลี่ยนโมเดล
ทำหน้าที่เป็นอินเทอร์เฟซระหว่างโมเดลและมุมมองที่เกี่ยวข้องและอุปกรณ์อินพุต
สามารถส่งคำสั่งไปยังโมเดลเพื่ออัปเดตสถานะของโมเดลและไปยังมุมมองที่เกี่ยวข้องเพื่อเปลี่ยนมุมมองการนำเสนอของโมเดล
MVC - ฉัน
เป็นสถาปัตยกรรม MVC เวอร์ชันที่เรียบง่ายซึ่งระบบแบ่งออกเป็นสองระบบย่อย -
The Controller-View - มุมมองตัวควบคุมทำหน้าที่เป็นอินเทอร์เฟซอินพุต / เอาต์พุตและการประมวลผลเสร็จสิ้น
The Model - โมเดลให้บริการข้อมูลและโดเมนทั้งหมด
MVC-I Architecture
โมดูลโมเดลจะแจ้งโมดูลมุมมองตัวควบคุมเกี่ยวกับการเปลี่ยนแปลงข้อมูลใด ๆ เพื่อให้การแสดงข้อมูลกราฟิกใด ๆ เปลี่ยนไป ผู้ควบคุมยังดำเนินการตามความเหมาะสมกับการเปลี่ยนแปลง
การเชื่อมต่อระหว่างคอนโทรลเลอร์ - มุมมองและโมเดลสามารถออกแบบในรูปแบบ (ดังแสดงในภาพด้านบน) ของการแจ้งเตือนการสมัครสมาชิกโดยที่มุมมองคอนโทรลเลอร์สมัครใช้โมเดลและโมเดลจะแจ้งให้คอนโทรลเลอร์ - มุมมองการเปลี่ยนแปลงใด ๆ
MVC - II
MVC – II เป็นการปรับปรุงสถาปัตยกรรม MVC-I ซึ่งโมดูลมุมมองและโมดูลควบคุมแยกจากกัน โมดูลแบบจำลองมีบทบาทที่ใช้งานได้เช่นเดียวกับใน MVC-I โดยจัดเตรียมฟังก์ชันหลักและข้อมูลทั้งหมดที่ฐานข้อมูลสนับสนุน
โมดูลมุมมองจะแสดงข้อมูลในขณะที่โมดูลคอนโทรลเลอร์ยอมรับคำขออินพุตตรวจสอบความถูกต้องของข้อมูลอินพุตเริ่มโมเดลมุมมองการเชื่อมต่อและจัดส่งงาน
MVC-II Architecture
แอปพลิเคชั่น MVC
แอปพลิเคชัน MVC มีประสิทธิภาพสำหรับแอปพลิเคชันแบบโต้ตอบซึ่งจำเป็นต้องมีหลายมุมมองสำหรับโมเดลข้อมูลเดียวและง่ายต่อการเสียบมุมมองอินเทอร์เฟซใหม่หรือเปลี่ยน
แอปพลิเคชัน MVC เหมาะสำหรับแอปพลิเคชันที่มีการแบ่งส่วนที่ชัดเจนระหว่างโมดูลเพื่อให้ผู้เชี่ยวชาญที่แตกต่างกันสามารถมอบหมายให้ทำงานในด้านต่างๆของแอปพลิเคชันดังกล่าวได้
Advantages
มีชุดเครื่องมือเฟรมเวิร์กผู้ขาย MVC มากมาย
หลายมุมมองที่ซิงโครไนซ์กับโมเดลข้อมูลเดียวกัน
ง่ายต่อการเสียบใหม่หรือเปลี่ยนมุมมองอินเทอร์เฟซ
ใช้สำหรับการพัฒนาแอปพลิเคชันที่ผู้เชี่ยวชาญด้านกราฟิกผู้เชี่ยวชาญด้านการเขียนโปรแกรมและผู้เชี่ยวชาญด้านการพัฒนาฐานข้อมูลกำลังทำงานในทีมโครงการที่ออกแบบ
Disadvantages
ไม่เหมาะสำหรับแอปพลิเคชันที่มุ่งเน้นตัวแทนเช่นแอปพลิเคชันมือถือและหุ่นยนต์แบบโต้ตอบ
ตัวควบคุมและมุมมองหลายคู่ตามโมเดลข้อมูลเดียวกันทำให้โมเดลข้อมูลใด ๆ มีราคาแพง
การแบ่งระหว่างมุมมองและคอนโทรลเลอร์ไม่ชัดเจนในบางกรณี
การนำเสนอ - นามธรรม - การควบคุม (PAC)
ใน PAC ระบบจะจัดเรียงเป็นลำดับชั้นของตัวแทนความร่วมมือจำนวนมาก (triads) ได้รับการพัฒนาจาก MVC เพื่อรองรับความต้องการใช้งานของตัวแทนหลายรายนอกเหนือจากข้อกำหนดแบบโต้ตอบ
ตัวแทนแต่ละคนมีสามองค์ประกอบ -
The presentation component - จัดรูปแบบการนำเสนอข้อมูลด้วยภาพและเสียง
The abstraction component - ดึงข้อมูลและประมวลผลข้อมูล
The control component - จัดการงานเช่นขั้นตอนการควบคุมและการสื่อสารระหว่างอีกสององค์ประกอบ
สถาปัตยกรรม PAC นั้นคล้ายกับ MVC ในแง่ที่โมดูลการนำเสนอเปรียบเสมือนโมดูลมุมมองของ MVC โมดูลนามธรรมดูเหมือนโมดูลโมเดลของ MVC และโมดูลควบคุมก็เหมือนกับโมดูลควบคุมของ MVC แต่แตกต่างกันในขั้นตอนการควบคุมและการจัดระเบียบ
ไม่มีการเชื่อมต่อโดยตรงระหว่างองค์ประกอบนามธรรมและองค์ประกอบการนำเสนอในแต่ละตัวแทน ส่วนประกอบการควบคุมในแต่ละตัวแทนทำหน้าที่สื่อสารกับตัวแทนอื่น ๆ
รูปต่อไปนี้แสดงแผนภาพบล็อกสำหรับเอเจนต์เดียวในการออกแบบ PAC
PAC กับตัวแทนหลายคน
ใน PAC ประกอบด้วยหลายตัวแทนเอเจนต์ระดับบนสุดจะจัดเตรียมข้อมูลหลักและโลจิสติกส์ทางธุรกิจ ตัวแทนระดับล่างสุดจะกำหนดข้อมูลและการนำเสนอโดยละเอียด ตัวแทนระดับกลางหรือระดับกลางทำหน้าที่เป็นผู้ประสานงานของตัวแทนระดับต่ำ
ตัวแทนแต่ละคนมีงานที่ได้รับมอบหมายเฉพาะของตนเอง
สำหรับตัวแทนระดับกลางบางคนไม่จำเป็นต้องใช้การนำเสนอแบบโต้ตอบดังนั้นจึงไม่มีองค์ประกอบการนำเสนอ
ส่วนประกอบการควบคุมจำเป็นสำหรับเอเจนต์ทั้งหมดซึ่งตัวแทนทั้งหมดสื่อสารกัน
รูปต่อไปนี้แสดงตัวแทนหลายตัวที่มีส่วนร่วมใน PAC
Applications
มีผลสำหรับระบบโต้ตอบที่ระบบสามารถแยกย่อยออกเป็นเอเจนต์ความร่วมมือจำนวนมากในลักษณะตามลำดับชั้น
มีผลเมื่อคาดว่าการมีเพศสัมพันธ์ระหว่างตัวแทนจะหลวมเพื่อให้การเปลี่ยนแปลงในตัวแทนไม่ส่งผลกระทบต่อผู้อื่น
มีประสิทธิภาพสำหรับระบบกระจายที่ตัวแทนทั้งหมดกระจายอยู่ห่าง ๆ และแต่ละคนมีฟังก์ชันการทำงานของตัวเองพร้อมข้อมูลและอินเทอร์เฟซแบบโต้ตอบ
เหมาะสำหรับแอปพลิเคชันที่มีส่วนประกอบ GUI มากมายซึ่งแต่ละส่วนจะเก็บข้อมูลปัจจุบันและอินเทอร์เฟซแบบโต้ตอบและต้องการสื่อสารกับส่วนประกอบอื่น ๆ
ข้อดี
รองรับการทำงานหลายอย่างและหลายการดู
รองรับการใช้ซ้ำของตัวแทนและความสามารถในการขยาย
ง่ายต่อการเสียบตัวแทนใหม่หรือเปลี่ยนตัวแทนที่มีอยู่
รองรับการทำงานพร้อมกันโดยที่เอเจนต์หลายตัวทำงานพร้อมกันในเธรดที่แตกต่างกันหรืออุปกรณ์หรือคอมพิวเตอร์ที่แตกต่างกัน
ข้อเสีย
ค่าใช้จ่ายเนื่องจากสะพานควบคุมระหว่างการนำเสนอและนามธรรมและการสื่อสารของการควบคุมระหว่างตัวแทน
ยากที่จะระบุจำนวนตัวแทนที่ถูกต้องเนื่องจากการมีเพศสัมพันธ์หลวมและมีความเป็นอิสระสูงระหว่างตัวแทน
การแยกการนำเสนอและนามธรรมอย่างสมบูรณ์โดยการควบคุมในแต่ละตัวแทนทำให้เกิดความซับซ้อนในการพัฒนาเนื่องจากการสื่อสารระหว่างตัวแทนจะเกิดขึ้นระหว่างการควบคุมของตัวแทนเท่านั้น