Factory Design Pattern
Java 2016
package com.phone; public interface OS { void spec(); }
package com.phone;
public class Android implements OS {
@Override
public void spec() {
System.out.println("Samsung Android");
}
}
package com.phone;
public class IOS implements OS{
@Override
public void spec() {
System.out.println("Iphone Ios");
}
}
package com.phone; public class Windowns implements OS{ @Override public void spec() { System.out.println("Nokia to die.."); } }
package com.phone;
public class OperatingSystemFactory {
//Creates: có thể thêm hoặc thay đổi
public OS getInstance(String str){
if(str.equals("Open")){
return new Android();
}else if(str.equals("Close")){
return new IOS();
}else if(str.equals("Die")){
return new Windowns();
}
return null;
}
}
import com.phone.Android;
import com.phone.OS;
import com.phone.OperatingSystemFactory;
public class MainFactory {
//Client: đoạn code dưới không cần thay đổi
public static void main(String[] args) {
OperatingSystemFactory osf = new OperatingSystemFactory();
OS obj = osf.getInstance("Close");//Phải thông qua getInstance mới được chạy spec() của class tương ứng
obj.spec();
}
}
0 nhận xét:
Post a Comment