ความแตกต่างระหว่าง Cohesion และ Coupling
posted on 22 Jul 2008 06:09 by mr-the-j in SEหลักการพื่้นฐานในการออกแบบส่วนประกอบของซอฟแวร์
Cohesion (ความยึดเหนี่ยว)
Cohesion เป็นการบอกถึงความสอดคล้องกัน นั้นหมายความว่า ใน Class หนึ่่งคลา่ส Method ในคลานั้นๆควรจะต้องทำงานให้มีความสอดคล้องกัน เช่น Class ของรถยนต์ ก็ต้องมีคุณสมบัติของรถยนต์ที่สัมพันธ์กัน ไม่ควรจะมีคุณสมบัติอื่นที่นอกเหนือจากรถยนต์
Coupling (ความเกี่ยวข้อง)
Couplingเป็นการบอกถึงระดับความเกี่ยวข้องกันของ Object ต่างๆในระบบ หากระบบใดมีความเกี่ยวข้องกันของ Object ที่สูงก็จะทำให้ระบบนั้นมีความอิสระนั้นต่ำ เช่น ใน Class ที่เราสร้างขึ้นมามีการอ้างไปถึง Class อื่นๆอีก ถ้าเกิด Class นั้นมีการเปลี่ยนแปลงขึ้นมาก็จะส่งผลถึงอีก Class ดังนั้นควรให้องค์ประกอบในระบบมีความเกี่ยวข้องกันน้อยที่สุด
สรุป การออกแบบระบบที่ดีจึงควรจะให้สอดคล้องกับคำกล่าวที่ว่า Strong cohesion , loosely coupling นั้นก็คือ " พยายามเขียนโปแกรมให้สัมพันธ์กันภายในคลาสให้มากที่สุด และพยายามลดความสัมพันธ์ระหว่าง class ให้น้อยที่สุด "
edit @ 22 Jul 2008 06:37:00 by Mr. The-J

-ขอบคุงข๊
#1 By (202.28.7.32) on 2008-12-03 13:08