Pola Pabrik di C++

Pola Pabrik Di C



Pola Pabrik adalah cara membuat objek dalam pengembangan perangkat lunak tanpa harus mengetahui detail spesifik tentang cara pembuatannya. Ini menyediakan antarmuka yang disederhanakan untuk membuat objek dengan menyembunyikan logika pembuatan kompleks di belakang kelas pabrik. Itu termasuk dalam kategori pola desain yang membahas mekanisme pembuatan objek. Artikel ini mencakup pola pabrik di C++.

Pengantar Pola Pabrik

Pola desain adalah metode untuk memecahkan masalah berulang dalam desain perangkat lunak. Pola Pabrik adalah salah satu pola desain yang membantu membuat objek dengan cara yang fleksibel dan dipisahkan.

Pola Pabrik adalah pola desain kreasional dalam C++ yang memungkinkan pembuatan objek tanpa mengetahui kelas objek secara eksplisit. Ini menyediakan cara untuk mengenkapsulasi logika pembuatan objek kompleks dalam kelas pabrik yang terpisah. Ini dilakukan dengan mendefinisikan antarmuka umum untuk membuat objek, di mana kelas spesifik objek ditentukan saat runtime.







Alih-alih membuat objek secara langsung, kami menggunakan metode pabrik untuk memberi kami instance dari objek yang kami inginkan. Dengan cara ini, kita dapat menyembunyikan langkah rumit yang terlibat dalam pembuatan objek dan membuatnya lebih mudah untuk mengubah atau memodifikasi objek di masa mendatang.



Mengapa menggunakan Pola Pabrik?

Ada beberapa alasan mengapa kita mungkin ingin menggunakan pola pabrik. Salah satu alasannya adalah memungkinkan decoupling kode dari kelas tertentu. Dengan menggunakan metode pabrik, kita dapat dengan mudah beralih dari satu kelas ke kelas lainnya tanpa harus mengubah kode lain dan membuatnya lebih efisien.



Alasan lain untuk menggunakan pola pabrik adalah dapat membuat kode lebih dapat diuji. Pola pabrik memungkinkan kita menguji kode dengan membuat objek tiruan.





Berikut adalah beberapa alasan mengapa pola pabrik digunakan di C++:

  • Pola Metode Pabrik digunakan ketika sebuah kelas tidak mengetahui terlebih dahulu objek apa yang perlu dibuat.
  • Pola ini digunakan ketika sebuah kelas bergantung pada subkelasnya untuk menentukan objek yang dibuatnya.
  • Ini berguna saat Anda ingin mengenkapsulasi logika untuk membuat objek kompleks di satu tempat.

Contoh Pola Pabrik di C++

Di C++, kita bisa mengimplementasikan pola pabrik dengan mendefinisikan kelas dasar abstrak dengan metode pabrik virtual. Metode ini harus mengembalikan pointer ke instance kelas yang diinginkan. Setelah itu, kita dapat memperoleh kelas konkret dari kelas dasar ini dan mengganti metode pabrik untuk mengembalikan turunan dari kelas yang sesuai.



Berikut adalah contoh bagaimana kita dapat menggunakan penerapan pola pabrik ini:

#termasuk

menggunakan namespace std ;

Bentuk kelas {

publik :

maya ruang kosong menggambar ( ) = 0 ;

statis Membentuk * createShape ( int jenis ) ;

} ;

Lingkaran kelas : Bentuk publik {

publik :

ruang kosong menggambar ( ) {

cout << 'Menggambar lingkaran.' << endl ;

}

} ;

persegi panjang kelas : Bentuk publik {

publik :

ruang kosong menggambar ( ) {

cout << 'Menggambar persegi panjang.' << endl ;

}

} ;

Membentuk * Membentuk :: createShape ( int jenis ) {

jika ( jenis == 1 ) {
kembali Lingkaran baru ( ) ;
} kalau tidak jika ( jenis == 2 ) {
kembali persegi panjang baru ( ) ;
} kalau tidak {
kembali nullptr ;
}
}


int utama ( ) {

Membentuk * lingkaran = Membentuk :: createShape ( 1 ) ;

lingkaran -> menggambar ( ) ;

Membentuk * persegi panjang = Membentuk :: createShape ( 2 ) ;

persegi panjang -> menggambar ( ) ;

kembali 0 ;

}

Dalam contoh ini, kami memiliki kelas Bentuk dengan dua kelas turunan: Lingkaran dan Persegi Panjang. Kelas Shape memiliki fungsi virtual murni draw(), yang diimplementasikan oleh kelas turunan. Kelas Shape juga memiliki fungsi statis createShape(int type), yang bertindak sebagai metode pabrik untuk membuat turunan dari kelas turunan berdasarkan tipe yang ditentukan. Fungsi draw() dipanggil pada objek yang dibuat untuk mendemonstrasikan perilaku spesifiknya.

  Gambar berisi teks, font, tangkapan layar Deskripsi dibuat secara otomatis

Kesimpulan

Pola Pabrik adalah pola desain kreasional dalam C++ yang memungkinkan pembuatan objek tanpa mengetahui kelas objek secara eksplisit. Ini menyediakan antarmuka yang disederhanakan untuk membuat objek dengan menyembunyikan logika pembuatan kompleks di belakang kelas pabrik. Ini dilakukan dengan mendefinisikan antarmuka umum untuk membuat objek, di mana kelas spesifik objek ditentukan saat runtime. Baca lebih lanjut tentang pola pabrik di artikel ini.