Skip to content

Latest commit

 

History

History
46 lines (46 loc) · 4.92 KB

8.3. Architectural patterns.md

File metadata and controls

46 lines (46 loc) · 4.92 KB

Architectural patterns Architectural patterns

  • Pattern หมายถึงการนำเสนอ (representing) การแบ่งปันและการนำความรู้กลับมาใช้ใหม่
  • Architectural pattern เป็นคำอธิบายที่มีรูปแบบที่ดีในการออกแบบ ซึ่งได้รับการทดลองใช้และทดสอบในสภาพแวดล้อมที่แตกต่างกัน
  • Patterns ควรมีข้อมูลที่บอกให้รู้ว่าเมื่อใดที่ควรใช้และเมื่อใดที่ไม่มีประโยชน์
  • Patterns อาจแสดงโดยใช้คำอธิบายแบบตารางหรือแบบกราฟิก The Model-View-Controller (MVC) pattern The organization of the Model-View-Controller Web application architecture using the MVC pattern Layered architecture
  • เหมาะที่จะใช้ในการจำลองการเชื่อมต่อของระบบย่อย
  • จัดระบบให้เป็นชุดของ layers หรือ abstract machine
  • แต่ละ lauer จะมีชุดของ services อยู่ภายใน
  • สนับสนุนการพัฒนาแบบ incremental ของระบบย่อยใน layers ต่างๆ
  • เมื่อเลเยอร์อินเทอร์เฟซเปลี่ยนไปจะมีผลต่อเลเยอร์ที่อยู่ติดกันเท่านั้น
  • ส่วนใหญ่ มักจะใช้วิธีการนี้ในการวางระบบ The Layered architecture pattern A generic layered architecture The architecture of the iLearn system Repository architecture
  • ระบบย่อยต้องแลกเปลี่ยนข้อมูล ซึ่งอาจทำได้ในสองวิธี:
  • ข้อมูลที่ใช้ร่วมกันถูกเก็บไว้ในฐานข้อมูลส่วนกลางหรือพื้นที่เก็บข้อมูลและอาจเข้าถึงโดยระบบย่อยทั้งหมด
  • แต่ละระบบย่อยจะเก็บรักษาฐานข้อมูลของตนเองและส่งผ่านข้อมูลไปยังระบบย่อยอื่น ๆ อย่างชัดเจน
  • การออกแบบระบบที่มีการแชร์ข้อมูลจำนวนมากนั้น repository model จะถูกใช้มากที่สุด
  • เป็นกลไกการแบ่งปันข้อมูลที่มีประสิทธิภาพ The Repository pattern A repository architecture for an IDE Client-server architecture
  • แบบจำลองระบบแบบกระจาย
  • จะแสดงวิธีการกระจายข้อมูลและการประมวลผลในส่วนประกอบต่าง ๆ
  • จริง ๆ แล้วสามารถใช้งานได้บนคอมพิวเตอร์เครื่องเดียวก็ได
  • ตัวอย่าง stand-alone servers เช่น การพิมพ์ (printing) การจัดการข้อมูล (data management) ฯลฯ
  • Client ทั้งหมดในระบบ จะต้องสามารถเข้าถึง services
  • อาจจะประกอบด้วย network ที่ช่วยให้ Client เข้าถึงได้จากระยะไกล

The Client–server pattern A client–server architecture for a film library Pipe and filter architecture

  • ส่วนที่ทำงาน (functional) ของระบบจะประมวลผล input เพื่อสร้าง output
  • อาจเรียกว่า pipe และ filter (เช่นเดียวกับใน UNIX shell)
  • รูปแบบนี้นิยมใช้กันเยอะมาก
  • การป้อนคำสั่งเป็นลำดับ จะถูกมองเป็นคำสั่งแบบ batch และถูกใช้อย่างมากในระบบประมวลผลข้อมูล
  • ไม่เหมาะสำหรับระบบโต้ตอบ
  • สั่งงานแล้วรอผลอย่างเดียว อาจจะไม่มีการรายงานใด ๆ จนกว่าจะเสร็จ The pipe and filter pattern An example of the pipe and filter architecture used in a payments system