Gang of Four (GoF) adalah sebuah kelompok dari empat orang penulis terkenal dari buku "Design Patterns: Elements of Reusable Object-Oriented Software" yang diterbitkan pada tahun 1994. Empat orang tersebut adalah:
- Erich Gamma: Erich Gamma adalah seorang insinyur perangkat lunak asal Swiss yang telah berkontribusi dalam bidang rekayasa perangkat lunak dan komputer. Dia juga berperan dalam pengembangan lingkungan pengembangan perangkat lunak Eclipse dan bersama-sama menciptakan pola desain seperti Singleton dan Observer.
- Richard Helm: Richard Helm adalah seorang ilmuwan komputer yang berasal dari Kanada. Dia memiliki latar belakang dalam rekayasa perangkat lunak dan juga merupakan kontributor dalam pengembangan lingkungan pengembangan perangkat lunak Eclipse bersama dengan Erich Gamma.
- Ralph Johnson: Ralph Johnson adalah seorang profesor ilmu komputer di Universitas Illinois, Urbana-Champaign, Amerika Serikat. Ia juga memiliki kontribusi dalam pengembangan lingkungan pengembangan perangkat lunak Eclipse dan menjadi salah satu penulis dalam buku "Design Patterns."
- John Vlissides: John Vlissides, juga dikenal sebagai "Uncle Viss," adalah seorang insinyur perangkat lunak Amerika Serikat dengan latar belakang dalam rekayasa perangkat lunak. Dia merupakan salah satu kontributor dalam pengembangan lingkungan pengembangan perangkat lunak Eclipse dan turut menjadi salah satu penulis dalam buku "Design Patterns."
Buku "Design Patterns: Elements of Reusable Object-Oriented Software" yang ditulis oleh Gang of Four telah menjadi acuan utama dalam dunia pengembangan perangkat lunak dan telah mempengaruhi banyak praktisi dan pengembang dalam menghadapi tantangan desain perangkat lunak secara efisien dan efektif.
Berikut adalah daftar 23 pola desain dari "Gang of Four" dengan pengkategorian sesuai jenisnya:
- Creational Patterns (Pola Desain Pembuatan):
- Factory Method Pattern
- Abstract Factory Pattern
- Singleton Pattern
- Prototype Pattern
- Builder Pattern
- Structural Patterns (Pola Desain Struktural):
- Adapter Pattern
- Bridge Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- Proxy Pattern
- Behavioral Patterns (Pola Desain Perilaku):
- Chain of Responsibility Pattern
- Command Pattern
- Interpreter Pattern
- Iterator Pattern
- Mediator Pattern
- Memento Pattern
- Observer Pattern
- State Pattern
- Strategy Pattern
- Template Method Pattern
- Visitor Pattern
Setiap kategori memiliki pola desain yang berfokus pada jenis permasalahan tertentu. Pola desain creational berkaitan dengan pembuatan objek, structural berfokus pada struktur komposisi objek, sedangkan behavioral berurusan dengan hubungan dan perilaku antara objek. Menggunakan pola desain dengan tepat dapat membantu dalam menghadapi masalah desain perangkat lunak secara efisien dan meningkatkan kualitas kode yang dihasilkan.
Comments
Post a Comment