Belajar Abstract Factory Pattern Pada Kegiatan Java

0
41
Abstract Factory adalah salah satu referensi konsep dari  Factory Method pattern ,yang memakai class Minuman Factory ,di artikel berguru java sebelumnya ,merupakan bab dari pattern ini. Bisa juga dikatakan  bapaknya ialah Factory Method Pattern , nah orang bau tanah dari bapak itu atau kakeknya yaitu Abstract Factory. Abstract Factory disini menyerupai sebuah parent ,yang memiliki child ,berupa factory-factory. 
yang sanggup dipakai untuk menghasilkan Factory di dalam Factory Belajar Abstract Factory Pattern pada Program Java

Pada artikel berguru java kali ini ,kita akan mencoba memakai penerapan Abstract Factory Pattern ,dengan memakai bahasa pemrograman Java. Berikut mari kita simak caranya :

1. Pertama buka IntelliJ IDEA ,atau Software IDE lain yang kalian gunakan , di Komputer atau Laptop kalian.
2. Sebelum kita membahas referensi code, untuk lebih jelasnya kalian sanggup perhatikan referensi konsep , atau UML diagram dari Abstract Factory , mirip pada  gambar dibawah:

yang sanggup dipakai untuk menghasilkan Factory di dalam Factory Belajar Abstract Factory Pattern pada Program Java
Contoh Konsep UML Diagram Abstract Factory Pattern 
Setelah kita tahu konsepnya ,sekarang kita terapkan ke dalam bahasa pemrograman Java, Berikut referensi code beserta penjelasanya:

Contoh Code:
Makanan.java dan Minuman.java

Penjelasan:
Pada referensi code diatas ,kita menciptakan 2 interface pada file yang terpisah. Untuk di implementasikan ke Concreate Class.

TehHijau.java , TehTawar.java, dan TehManis.java


Penjelasan:
3 File terpisah diatas termasuk Concreate Class ,yang dibentuk untuk mengimplementasi method dari interface Minuman.java, dengan keyword implements.



NasiGoreng.java , NasiUduk.java, dan NasiPadang.java

Penjelasan:
3 File terpisah diatas termasuk Concreate Class ,yang dibentuk untuk mengimplementasi method dari interface Makanan.java,  dengan keyword implements.

AbstractFactory.java

Penjelasan :
Disini kita menciptakan abstract class AbstractFactory.java   ,yang dimana disini kita tidak sanggup menginstansiasi atau mengimplementasi object. Hanya sanggup di implementasikan oleh turunan classnya.


JenisMinuman.java dan JenisMakanan.java


Penjelasan:

Membuat variable bertipe konstant ,yang nanti akan dipakai untuk inputan data pada class Factory dan juga class Main. Disini aku menciptakan 2 file terpisah,  bukanya menyatu pada 1 file.



MinumanFactory.java dan MakananFactory.java

Penjelasan:
Nah di class Factory pada 2 file terpisah yaitu MinumanFactory.java dan MakananFactory.java, kita mewariskan method pada abstract class AbstractFactory.java ,dengan keyword extends.


FactoryProduksi.java

Penjelasan:
Disini kita menciptakan method getFactory() menggunakan abstract class AbstractFactory.java  , untuk mengambil  object dari 2 Factory.

Main.java

Penjelasan:
Pada class Main.java diatas ,kita sanggup menciptakan object dengan memakai Abstract Factory Pattern.

Dengan cara ,  mirip baris code pertama kita menciptakan dan menginstansiasi object dari abstract class  AbstractFactory.java  ,dengan menentukan jenis dari 2 Factory.

Lalu di baris selanjutnya ,kita menciptakan dan menginstansiasi object . menurut jenis masakan atau minuman.

Lalu kita memanggil method yang di implementasikan pada concreate class, untuk menampilkan output nilainya.

Output:

NasiGoreng: Harganya 10.000 ,maknyuss boss
NasiPadang: Harganya 15.000 , Mantap bro..
NasiUduk: Harganya cuman 6000, Mantap !
TehManis : Rasanya  anggun ,tapi segerr
TehHijau : Rasanya sangat pahit ,tapi menyehatkan
TehTawar : Rasanya masbodoh ,tapi cocok di sajikan ketika makan