ปัญหาและความต้องการ การนำแนวคิดการออกแบบเชิงวัตถุ หรือ Object Oriented Design (OOD) มาใช้ในการออกแบบซอฟต์แวร์ มีปัญหาที่ต้องการคำตอบหลายประการ เช่น
MVC (Model View Controller) เป็นแนวคิดหนึ่งที่ได้รับความนิยมในการออกแบบเชิงวัตถุ ที่ถูกพัฒนาขึ้นเพื่อตอบคำถามข้างต้นได้ STEE (System Task Event Entity) ก็เป็นอีกแนวคิดหนึ่งในการออกแบบเชิงวัตถุ ที่ถูกพัฒนาขึ้นเพื่อตอบคำถามข้างต้นเช่นเดียวกัน ในทางปฏิบัติลองนึกภาพของจำนวนบรรทัดคำสั่งที่มีอยู่หลายล้านคำสั่ง มีทีมงานหลายร้อยคนที่มาทำงานอยู่ร่วมกัน มีแพลตฟอร์มที่หลากหลายที่จะต้องสนับสนุนการทำงาน มีมาตรฐานการทำงานหลายด้านที่จะต้องควบคุม มีปัญหาข้อผิดพลาดจำนวนมากที่ต้องแก้ไขและปรับปรุง รวมถึงการปรับรุ่นซอฟต์แวร์ให้ทันสมัยอย่างต่อเนื่อง จากที่กล่าวมาข้างต้นนี้ ทำให้การออกแบบและแนวคิดการออกแบบซอฟต์แวร์ที่ดีมีประสิทธิภาพจึงมีความสำคัญมาก แนวคิด "STEE" คืออะไร? มองว่าองค์ประกอบของโปรแกรมประกอบด้วยวัตถุ 4 ประเภทหลัก ทำงานอยู่ร่วมกัน คือ
ทุกสรรพสิ่งล้วนเป็นไปตามเหตุและปัจจัย มองวิเคราะห์ทุกสรรพสิ่ง โดยสมมติเป็นตัวระบบหรือวัตถุระบบ (System Object) ประกอบอยู่รวมกันในลักษณะระบบซ้อนระบบเป็นชั้นๆ อยู่ที่ว่าเรากำลังสนใจในเรื่องอะไร ระดับใดเมื่อเรากำหนดขอบเขตความสนใจได้แล้ว ก็พิจารณาต่อว่า มีปัจจัยอะไรเป็นส่วนประกอบอยู่ภายในระบบอีกบ้าง ซึ่งในที่นี้แต่ละระบบจะประกอบด้วยวัตถุ 4 กลุ่มคือ
หากมองในลักษณะของระบบซ้อนระบบ เราจะพบว่าวัตถุระบบเองก็คือวัตถุงานชนิดหนึ่งที่อยู่ภายในอีกระบบหนึ่ง ที่เรียกว่า ระบบแม่ (Parent System) | เกิดมาให้บริการแล้วจากไป การสร้างวัตถุต่างๆ มีแนวคิดว่า "เกิดมาให้บริการแล้วจากไป" เพราะทุกสรรพสิ่งไม่มีอะไรที่จีรังยั่งยืน หรือเป็นอนิจจัง (เกิดขึ้น ตั้งอยู่ ดับไป) การเกิดขึ้นของวัตถุ เมื่อสร้างขึ้นมาแล้วก็ต้องทำงานเพื่อให้บริการบางสิ่งบางอย่างในระบบ หรือมีหน้าที่รับผิดชอบบางอย่าง หรือทำประโยชน์บางอย่าง หรือมีคุณค่าบางอย่างเสมอ และเมื่อทำหน้าที่เสร็จแล้วก็ต้องตายจากไป การจากไปหรือทำลายวัตถุที่ไม่ได้ใช้งานแล้วทิ้งไปนั้นช่วยทำให้การจัดการหน่วยความจำของระบบทำงานได้อย่างมีประสิทธิภาพ ซึ่งการไม่ทำลายวัตถุทิ้งหลังการใช้งานเสร็จสิ้นถือเป็นการสิ้นเปลืองทรัพยากรระบบ และมีผลให้ระบบไม่มีความเสถียรภาพเมื่อมีการใช้งานระบบต่อเนื่องไประยะหนึ่ง เช่น เกิดกรณีหน่วยความจำเต็ม ทำให้ต้องปิดระบบและเปิดระบบใหม่ เป็นต้น Create -> Services -> Destroy แนวคิด STEE มีประโยชน์อย่างไร?
|
บทความ >