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