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
This comment has been removed by a blog administrator.
ReplyDeleteada umlnya?
ReplyDelete