Created
September 13, 2021 01:27
-
-
Save aryadiahmad4689/e7a30df513a11dc481eedf733ba06c50 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
interface Kursi | |
{ | |
public function execute(); | |
} | |
interface Meja | |
{ | |
public function execute(); | |
} | |
interface Lemari | |
{ | |
public function execute(); | |
} | |
class MinimalistMeja implements Meja | |
{ | |
public function execute() | |
{ | |
echo "Sedang Membuat Minimalist Meja"; | |
} | |
} | |
class MinimalistKursi implements Kursi | |
{ | |
public function execute() | |
{ | |
echo "Sedang Membuat Minimalist Kursi"; | |
} | |
} | |
class ModerenKursi implements Kursi | |
{ | |
public function execute() | |
{ | |
echo "Sedang Membuat Kursi Moderen"; | |
} | |
} | |
class KlasikKursi implements Kursi | |
{ | |
public function execute() | |
{ | |
echo "Sedang Membuat Kursi Klasik"; | |
} | |
} | |
class ModerenMeja implements Meja | |
{ | |
public function execute() | |
{ | |
echo "Sedang Membuat Meja Moderen"; | |
} | |
} | |
class KlasikMeja implements Meja | |
{ | |
public function execute() | |
{ | |
echo "Sedang Membuar Meja Klasik"; | |
} | |
} | |
// | |
interface AbstractFurnitureFactory | |
{ | |
public function createMeja(): Meja; | |
public function createKursi() : Kursi; | |
} | |
class FurnitureModeren implements AbstractFurnitureFactory | |
{ | |
public function createMeja(): Meja | |
{ | |
return new ModerenMeja; | |
} | |
public function createKursi(): Kursi | |
{ | |
return new ModerenKursi; | |
} | |
} | |
class FurnitureKlasik implements AbstractFurnitureFactory | |
{ | |
public function createMeja(): Meja | |
{ | |
return new KlasikMeja; | |
} | |
public function createKursi(): Kursi | |
{ | |
return new KlasikKursi; | |
} | |
} | |
class FurnitureMinimalist implements AbstractFurnitureFactory | |
{ | |
public function createMeja(): Meja | |
{ | |
return new MinimalistMeja; | |
} | |
public function createKursi(): Kursi | |
{ | |
return new MinimalistKursi; | |
} | |
} | |
// ariadi sedang pesan meja Moderen Dan Kursi Moderen | |
$AriadiPesanFurnitureModeren = new FurnitureModeren; | |
$AriadiPesanFurnitureModeren->createMeja()->execute(); | |
// Sedang Membuat Meja Moderen | |
$AriadiPesanFurnitureModeren->createKursi()->execute(); | |
// Sedang Membuat Kursi Moderen | |
$AriadiPesanFurnitureMinimalist = new FurnitureMinimalist; | |
$AriadiPesanFurnitureMinimalist->createMeja()->execute(); | |
// Sedang Membuat Meja Minimalist | |
$AriadiPesanFurnitureMinimalist->createKursi()->execute(); | |
// Sedang Membuat Kursi Minimalist | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment