Application frameworks Framework definition
- “..an integrated set of software artefacts (such as classes, objects and components) that collaborate to provide a reusable architecture for a family of related applications.”
- “...ชุดของสิ่งประดิษฐ์ซอฟต์แวร์ (เช่น classes, objects และ components) ที่ทำงานร่วมกัน เพื่อให้เกิดเป็นสถาปัตยกรรมที่สามารถนำมาใช้ซ้ำได้สำหรับ application ที่คล้ายกัน" Application frameworks
- Framework เป็นเอนทิตีขนาดใหญ่ปานกลางที่สามารถนำกลับมาใช้ใหม่ได้
- พวกมันอยู่ตรงกลางระหว่างการใช้ระบบและองค์ประกอบซ้ำ
- Framework คือระบบย่อย (sub-system) ซึ่งประกอบด้วยคลาสที่เป็นนามธรรมและเป็นรูปธรรมและมีส่วนติดต่อระหว่างกัน
- Sub-system ดังกล่าวจะดำเนินการสร้างแอพพลิเคชั่น
- โดยการเพิ่มส่วนประกอบที่จำเป็นเพื่อเติมเต็มส่วนต่าง ๆ ของการออกแบบ
- โดยการสร้าง abstract class ใน framework Web application frameworks
- สนับสนุนการสร้างเว็บไซต์แบบไดนามิกเป็นส่วนหน้าสำหรับแอปพลิเคชันเว็บ
- WAF มีให้บริการสำหรับภาษาโปรแกรมเว็บที่ใช้บ่อย ๆ เช่น Java, Python, Ruby เป็นต้น
- รูปแบบการโต้ตอบจะขึ้นอยู่กับ design pattern แบบ Model-View-Controller Model-view controller
- เป็นกรอบโครงสร้างพื้นฐานของระบบสำหรับการออกแบบ GUI
- อนุญาตให้มีการนำเสนอหลาย ๆ หน้าตาสำหรับวัตถุใดๆ และมีปฏิสัมพันธ์กับการนำเสนอเหล่านี้แยกต่างหาก
- MVC framework เกี่ยวข้องกับ design pattern อื่น ๆ อีกจำนวนมาก (ดูเรื่อง design pattern ประกอบ) The Model-View-Controller pattern WAF features
- Security (ความปลอดภัย)
- WAFs อาจรวมเอา classes เพื่อช่วยในการรับรองความถูกต้องของผู้ใช้ (login) และการเข้าใช้งาน
- Dynamic web pages (หน้าเว็บแบบไดนามิก)
- Classes ถูกจัดเตรียมไว้เพื่อให้สามารถกำหนดเทมเพลตของเว็บเพจและเติมข้อมูลจากฐานข้อมูลไปยังหน้าเพจแบบไดนามิก
- Database support (สนับสนุนฐานข้อมูล)
- อาจจัดเตรียมคลาสที่เป็นนามธรรมเพื่อติดต่อกับฐานข้อมูลที่แตกต่างกัน
- Session management (การจัดการเซสชัน)
- โดยปกติ WAF จะจัดเตรียมคลาสเพื่อสร้างและบริหาร
- User interaction (การโต้ตอบของผู้ใช้)
- Web frameworks ส่วนใหญ่มักจะมีการรองรับ AJAX เพื่อการโต้ตอบกับผู้ใช้ที่ดียิ่งขึ้น Extending frameworks
- Framework มักมีรูปแบบเป็นแบบทั่วไปและสามารถขยายความสามารถเพื่อสร้างapplication หรือระบบย่อยเฉพาะเจาะจงมากขึ้น
- มักถูกใช้เพื่อสร้างโครงสถาปัตยกรรมสำหรับระบบ
- การขยาย framework หมายถึง
- การเพิ่มคลาสคอนกรีตที่สืบทอดการดำเนินงานจากคลาสนามธรรมใน framework
- การเพิ่ม method เพื่อตอบสนองต่อเหตุการณ์ที่ framework รู้จัก
- ปัญหาสำคัญเกี่ยวกับ framework คือความซับซ้อน
- ซึ่งหมายความว่าต้องใช้เวลานานเพื่อศึกษาและใช้งานอย่างมีประสิทธิภาพ Inversion of control in frameworks Framework classes
- System infrastructure frameworks
- สนับสนุนการพัฒนาโครงสร้างพื้นฐานของระบบ เช่น การสื่อสารอินเทอร์เฟซสำหรับผู้ใช้และคอมไพเลอร์
- Middleware integration frameworks
- มาตรฐานและ class ที่สนับสนุนการสื่อสารและการแลกเปลี่ยนข้อมูล
- Enterprise application frameworks
- สนับสนุนการพัฒนาโปรแกรมเฉพาะ เช่น ระบบโทรคมนาคมหรือระบบการเงิน