dalam Abstract Factory pattern, sebuah interface bertanggung jawab untuk membuat factory yang berkaitan dengan object tanpa menspesifikasikan class mereka secara jelas. setiap factory yang dibuat dapat memberikan object sebanyak Factory pattern.
Provides an interface for creating families of related or dependent objects without specifying their concrete classes.
------------------------------------------------------------------------------------------------------------
Menyediadakan interface untuk membuat rangkaian family(keluarga) yang terkait atau bergantung object tanpa menspesifikasikan concrete class.
Implementasi
Dalam implementasi ini saya menggunakan BlueJ.
disini kita akan membuat Shape dan Color Interface dan concrete class yang mengimplementasikan interface tersebut.
kita akan membuat abstract factory class - AbstractFactory. Factory classes - ShapeFactory dan ColorFactory yang didefinisikan masing-masing sebagai extend dari AbstractFactory. Factory creator/generator class FactoryProducer akan dibuat.
AbstractFactoryPatternDemo, demo class kita akan menggunakan FactoryProducer untuk mendapatkan AbstractFactory object. yang akan memberikan infromasi (CIRCLE/ RECTANGLE/ SQUARE for shape) kepada AbstractFactory untuk mendapatkan type object. yang dibutuhkan. yang juga akan memberikan informasi (RED/ GREEN/ BLUE untuk Color) kepada AbstractFactory untuk mendapatkan type dari object yang dibutuhkan. berikut diagram UML-nya
Step 1
buatlah interface Shape
Shape.java
Step 2buatlah concrete class yang mengimplementasikan Shape interface.
Rectangle.java
Square.java
Circle.java
Step 3
buatlah interface untuk Colors
Color.java
Step 4
buatlah concrete class yang mengimplementasikan Colors interface
Red.java
Green.java
Blue.java
Step 5
buatlah abstract class untuk mendapatkan factories untuk color dan shape objects.
AbstractFactory.java
Step 6
buatlah Factory class extend dari AbstracFactory untuk membuat object dari concrete class berdasarkan informasi yang diberikan.
ShapeFactory.java
ColorFactory.java
Step 7
buatlah Factory generator/producer class untuk mendapatkan factory dengan cara passing informasi seperti color atau shape.
FactoryProducer.java
Step 8
gunakan FactoryProducer untuk mendapatkan AbstractFactory yang merupakan syarat untuk mendapatkan factory dari concrete class dengan cara passing infromasi seperti type.
AbstractFactoryPatternDemo.java
Step 9
jalankan program dan cek outputnya
Impelementasi di industri
salah satu implementasinya adalah UI toolkits baik dalam windows, mac dan linux. UI composite seperti window, buttons, dan textfields yang disediakan di dalam widget API seperti SWT.
Referensi:
https://www.tutorialspoint.com/design_pattern/abstract_factory_pattern.htm
https://dzone.com/articles/design-patterns-abstract-factory
No comments:
Post a Comment