Java Method Factory Pattern, Pengertian dan Contoh Pembuatannya

 



Dalam pemrograman berbasis OOP, factory method pattern adalah pattern yang menggunakan method atau function dari class Factory untuk mengatur permasalahan atau untuk menciptakan sebuah objek.


Contoh Kasus

Ada sebuah prusahaan yang membutuhkan beberapa karyawan yang akan dijadikan, pertama karyawan tetap, kedua karyawan kontrak. Kemudian ada seseorang yang ingin berkerja di perusahaan tersebut, dia pun menemui bos perusahaan tersebut dengan persyaratan yang telah di lampirkan. Tetapi, apakah dia akan diteriama atau tidak. Dan jika diterima apakah akan dijadikan sebagai karyawan kontrak atau tetap. Semua tergantung si bos.

Kira - kira begitulah illustrasi method factory pattern dalam kehidupan nyata. Si bos adalah Factory class dimana ia akan menciptakan beberapa Karywan tetap dan karywan kontrak.

Berikut adalah contoh untuk membuat Factory Method Pattern :



  1. Buat class Employee.java

package belajar.design.pattern;

public class Employee {
    private String name;
    private String type;
    private String payment;
    // getters, setters and toString()
    
    public void setName(String name){
        this.name = name;
    }
    
    public String getName(){
        return this.name;
    }
    
    public void setType(String type){
        this.type = type;
    }
    
    public String getType(){
        return this.type;
    }
    
    public void setPayment(String payment) {
        this.payment = payment;
    }
    
    public String getPayment(){
        return this.payment;
    }
    
    @Override
    public String toString(){
        return this.name+this.type+this.payment;
    }
}
 


  2. Buat class PermanentEmployee.java

package belajar.design.pattern;

public class PermanentEmployee extends Employee {
    public PermanentEmployee (String name) {
        setName(name);
        setType("Permanen");
        setPayment("Perbulan");
    }
}



  3. Buat class ContractualEmployee.java

package belajar.design.pattern;

public class ContractualEmployee extends Employee{
    public ContractualEmployee (String name){
        setName(name);
        setType("Kontrak");
        setPayment("Perjam");
    }
}


  4. Buat class EmployeeFactory.java

 package belajar.design.pattern;

public class EmployeeFactory {
    
    public Employee createEmployee(String name, String type){
        switch (type) {
            case "permanent":
                return new PermanentEmployee(name);
            case "contractual":
                return new ContractualEmployee(name);
            default:
                return null;
        }
    }
}



  5. Buat class Test.java

 package belajar.design.pattern;

public class Test {

    public static void main(String[] args) {

        EmployeeFactory factory = new EmployeeFactory();
        System.out.println(factory.createEmployee("Andri", "permanent").toString());
        
        System.out.println(factory.createEmployee("Joni", "contractual").toString());
        
    }
}


  6. Verifikasi Output :

AndriPermanenPerbulan
JoniKontrakPerjam




Baca Juga : 
  Java Prototype Pattern


Entri Sebelumnya :
  Java Builder Pattern



Java Method Factory Pattern, Pengertian dan Contoh Pembuatannya 4.5 5 Ardyn Sulaeman Dalam pemrograman berbasis OOP, factory method pattern adalah pattern yang menggunakan method atau function dari class Factory untuk m...


2 comments:

Powered by Blogger.