วันพฤหัสบดีที่ 16 มิถุนายน พ.ศ. 2554

Design Pattern in NetBeans # Adapter Design Pattern

เป้าหมายของ Adapter Design Pattern

ช่วยทำให้ class เดิม สามารถเปลี่ยน interface ใหม่ตามความต้องการของลูกค้าได้ โดย Adapter จะช่วยให้ class ที่ไม่สามารถทำงานร่วมกันได้เพราะ interface ไม่ตรงกันสามารถทำงานร่วมกันได้ โดยยังคงใช้ component เดิม


ที่มาของชื่อ Adapter

จากปัญหาการนำระบบเก่ามาออกแบบใหม่มักจะทำให้ผู้ออกแบบต้องประสบปัญหาที่น่าหนักใจที่จะออกแบบอย่างไรจึงจะทันสมัย และสามารถทำงานร่วมกับระบบเก่าได้  ปัญหาเช่นนี้เปรียบเสมือนการนำปลั๊ก 3 ง่ามมาเสียบใส่เต้าปลั๊ก 2 ง่ามซึ่งเป็นแบบเก่า  จึงจำเป็นต้องมี Adapter เพื่อเป็นตัวกลาง


โครงสร้าง

โครงสร้างของ Adapter Pattern

  • Class Target  คือ Class หรือ Interface ที่มี Method ต่าง ๆ ที่ Client สามารถเรียกใช้งานได้
  • Class Client  คือ Class ทำหน้าที่เป็นผู้เรียกใช้ Method ต่าง ๆ ที่ประกาศไว้โดย Target
  • Class Adaptee  คือ Class ที่เป็นที่ต้องการของ Target และจะถูกเรียกใช้โดย Target โดยผ่านทาง Adapter
  • Class Adapter  คือ Class ที่ทำหน้าที่เรียกใช้ Method ของ Adaptee โดย Method ของ Adaptee จะเรียกอยู่ภายใน Method ของ Adapter ซึ่ง Method ของ Adepter จะถูกเรียกใช้โดย Client


ตัวอย่างระบบที่ใช้ Adapter Pattern โดย NetBeans

เป็นระบบที่จำลองการทำงานของรีโมทคอนโทรล (Remote Control) ของเครื่องเล่นวิดีโอตามปกติแล้ว โดย Remote Control ของเครื่องเล่นวีดีโอนอกจากทำหน้าที่หลักในการควบคุมเครื่องเล่นวีดิโอแล้วRemoteControlรุ่นใหม่ๆยังสามารถทำหน้าที่ควบคุมการทำงานบางอย่างของเครื่องเล่นโทรทัศน์ได้อีกด้วย เช่นการเปลี่ยนช่องสัญญาณ(Channel)ของโทรทัศน์ ดังนั้นเราจึงจำเป็นต้องทำให้รีโมทคอนโทรลของวีดิโอมีความสามารถในการเปลี่ยนช่องของรีโมทคอนโทรลของโทรทัศน์ได้ด้วยโดยนำเอาหลักการของ Adapter มาใช้่


(ก่อนจะทำ Adapter Pattern ที่ NetBeans จะต้องทำการติดตั้ง Plugin UML โดยสามารถดูขั้นตอนการติดตั้งได้ ที่นี่)

ใน NetBeans สามารถเลือก Design Pattern มาใช้โดยคลิกขวาที่ Model แล้วเลือก Apply Design Pattern...
แล้วทำตามขั้นตอนตามภาพด้านล่าง



ที่ Project เลือก GoF Design Patterns
Desing Patterns เลือก Structural :: Adapter

 

ที่ Namespace เลือกชื่อ package





ที่หน้านี้จะเป็นการกำหนดกฎตามหลัก adapter pattern




 

จากนั้นทำเครื่องหมายหน้า Create class diagram

เสร็จแล้ว NetBeans จะทำการเพิ่มส่วนที่เป็น Adapter Pattern ให้ในระบบตามภาพตัวอย่าง





Reference :: http://sourcemaking.com/ เข้าถึงเมื่อวันที่ 16 มิ.ย. 2554

ไม่มีความคิดเห็น:

แสดงความคิดเห็น