สวัสดีเพื่อนๆทุกคนมาเจอกับผมเเละทีมงาน component Rap_Jung เหมือนเคยนะครับ วันนี้ผมจะมาต่อนะครับต่อจากบทความเมื่อครั้งกระนู้น ที่ผมเขียนเรื่องดีไซน์เเพทเทินไว้
เอาละมาเริ่มกันเลยนะครับในบทความนนี้ผมขอยกตัวอย่างดีไซน์เเพทเทิร์นที่จะนำมาใช้ประกอบบทความ ผมก็เลยเลือกเอาเจ้า facade
facade คือไรอะ?
เอาละมาเริ่มกันเลยนะครับในบทความนนี้ผมขอยกตัวอย่างดีไซน์เเพทเทิร์นที่จะนำมาใช้ประกอบบทความ ผมก็เลยเลือกเอาเจ้า facade
facade คือไรอะ?
ตัวfacadeนี้เปรียบเสมือนกับตัวที่เอาไว้ติดต่อกับคลาสอื่นที่เราสนใจ ทำให้การเข้าใช้ระบบได้ง่ายขึ้น มีการสร้าง Object ตัวกลางทำหน้าที่ในการทำกิจกรรมแทนเรา หรือก็คือ facade pattern คือ interfaceหนึ่งที่คอยติดต่อกับ interface อื่นในระบบนั่นเอง
เริ่มเลยนะครับ
package facade;
public class MyClass1{
public void myClass1Func(){
System.out.println("My class");
}
}
public class MyClass2 {
public void myClass2Func(){
System.out.println("your class");
}
}
public class MyFacade {
private static MyFacade myFacadeObj = new MyFacade();
private MyFacade(){
super();
}
public static MyFacade getMyFacadeObject(){
return myFacadeObj;
}
public void class1Func(){
MyClass1 obj = new MyClass1();
}
public void class2Func(){
MyClass2 obj = new MyClass2();
}
}
public class Tester {
public static void main(String[] args){
MyFacade obj = MyFacade.getMyFacadeObject();
obj.class1Func();
obj.class2Func();
}
}
เมื่อเราสร้างคลาสต่างๆเสร็จเเล้วก็ทำอย่างบทความที่เเล้ว พอมาถึงหน้าต่าง Design Pattern Wizard
ไห้เราเลือก project เป็น GOF เเล้ว เลือก Design pattern เป็น facade
ขั้นต่อไปก็เลือกทาเก็ต สโคปครับ ก็เลือกชื่อเเพคเกจเราไปเริ่มเลยนะครับ
package facade;
public class MyClass1{
public void myClass1Func(){
System.out.println("My class");
}
}
public class MyClass2 {
public void myClass2Func(){
System.out.println("your class");
}
}
public class MyFacade {
private static MyFacade myFacadeObj = new MyFacade();
private MyFacade(){
super();
}
public static MyFacade getMyFacadeObject(){
return myFacadeObj;
}
public void class1Func(){
MyClass1 obj = new MyClass1();
}
public void class2Func(){
MyClass2 obj = new MyClass2();
}
}
public class Tester {
public static void main(String[] args){
MyFacade obj = MyFacade.getMyFacadeObject();
obj.class1Func();
obj.class2Func();
}
}
เมื่อเราสร้างคลาสต่างๆเสร็จเเล้วก็ทำอย่างบทความที่เเล้ว พอมาถึงหน้าต่าง Design Pattern Wizard
ไห้เราเลือก project เป็น GOF เเล้ว เลือก Design pattern เป็น facade
ต่อมา เลือก facade เป็น MyFacade เเละเลือก subsystem เป็น MyClass1,MyClass2
เเละหน้าต่างต่อมาไห้ ติ้ก creat class diagram
เเค่นี้ก็เรียบร้อยครับ