Skip to content

Latest commit

 

History

History
47 lines (47 loc) · 6.06 KB

10.2. Application frameworks.md

File metadata and controls

47 lines (47 loc) · 6.06 KB

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
  • สนับสนุนการพัฒนาโปรแกรมเฉพาะ เช่น ระบบโทรคมนาคมหรือระบบการเงิน