Corak Kilang dalam C++

Corak Kilang Dalam C



Corak Kilang ialah cara mencipta objek dalam pembangunan perisian tanpa perlu mengetahui butiran khusus tentang cara ia dicipta. Ia menyediakan antara muka yang dipermudahkan untuk mencipta objek dengan menyembunyikan logik penciptaan kompleks di sebalik kelas kilang. Ia tergolong dalam kategori corak reka bentuk yang menangani mekanisme penciptaan objek. Artikel ini merangkumi corak kilang dalam C++.

Pengenalan kepada Corak Kilang

Corak reka bentuk ialah kaedah untuk menyelesaikan masalah berulang dalam reka bentuk perisian. Corak Kilang adalah salah satu corak reka bentuk yang membantu mencipta objek dengan cara yang fleksibel dan dipisahkan.

Corak Kilang ialah corak reka bentuk ciptaan dalam C++ yang membenarkan penciptaan objek tanpa mengetahui kelas objek secara eksplisit. Ia menyediakan cara untuk merangkum logik penciptaan objek kompleks dalam kelas kilang yang berasingan. Ini dilakukan dengan mentakrifkan antara muka biasa untuk mencipta objek, di mana kelas khusus objek ditentukan semasa runtime.







Daripada mencipta objek secara langsung, kami menggunakan kaedah kilang untuk memberi kami contoh objek yang kami mahukan. Dengan cara ini, kita boleh menyembunyikan langkah rumit yang terlibat dalam mencipta objek dan menjadikannya lebih mudah untuk menukar atau mengubah suai objek pada masa hadapan.



Mengapa menggunakan Corak Kilang?

Terdapat beberapa sebab mengapa kita mungkin mahu menggunakan corak kilang. Salah satu sebabnya ialah ia membenarkan kod penyahgandingan daripada kelas tertentu. Dengan menggunakan kaedah kilang, kita boleh menukar satu kelas ke kelas yang lain dengan mudah tanpa perlu menukar sebarang kod lain dan menjadikannya lebih cekap.



Satu lagi sebab untuk menggunakan corak kilang ialah ia boleh menjadikan kod lebih boleh diuji. Corak kilang membolehkan kami menguji kod dengan mencipta objek olok-olok.





Berikut ialah beberapa sebab mengapa corak kilang digunakan dalam C++:

  • Corak Kaedah Kilang digunakan apabila kelas tidak mengetahui terlebih dahulu objek yang perlu dibuatnya.
  • Corak digunakan apabila kelas bergantung pada subkelasnya untuk menentukan objek yang diciptanya.
  • Ia berguna apabila anda ingin merangkum logik untuk mencipta objek kompleks di satu tempat.

Contoh Corak Kilang dalam C++

Dalam C++, kita boleh melaksanakan corak kilang dengan mentakrifkan kelas asas abstrak dengan kaedah kilang maya. Kaedah ini harus mengembalikan penunjuk kepada contoh kelas yang dikehendaki. Selepas itu, kita boleh memperoleh kelas konkrit daripada kelas asas ini dan mengatasi kaedah kilang untuk mengembalikan contoh kelas yang sesuai.



Berikut ialah contoh cara kami boleh menggunakan pelaksanaan corak kilang ini:

#include

menggunakan ruang nama std ;

Bentuk kelas {

awam :

maya batal melukis ( ) = 0 ;

statik bentuk * createShape ( int menaip ) ;

} ;

Bulatan kelas : Bentuk awam {

awam :

batal melukis ( ) {

cout << 'Melukis bulatan.' << endl ;

}

} ;

kelas Segiempat : Bentuk awam {

awam :

batal melukis ( ) {

cout << 'Melukis segi empat tepat.' << endl ;

}

} ;

bentuk * bentuk :: createShape ( int menaip ) {

jika ( menaip == 1 ) {
kembali Bulatan baharu ( ) ;
} lain jika ( menaip == 2 ) {
kembali Segi empat tepat baharu ( ) ;
} lain {
kembali nullptr ;
}
}


int utama ( ) {

bentuk * bulatan = bentuk :: createShape ( 1 ) ;

bulatan -> melukis ( ) ;

bentuk * segi empat tepat = bentuk :: createShape ( 2 ) ;

segi empat tepat -> melukis ( ) ;

kembali 0 ;

}

Dalam contoh ini, kita mempunyai kelas Bentuk dengan dua kelas terbitan: Bulatan dan Segi Empat. Kelas Shape mempunyai draw() fungsi maya tulen, yang dilaksanakan oleh kelas terbitan. Kelas Shape juga mempunyai fungsi statik createShape(int type), yang bertindak sebagai kaedah kilang untuk mencipta contoh kelas terbitan berdasarkan jenis yang ditentukan. Fungsi draw() dipanggil pada objek yang dicipta untuk menunjukkan tingkah laku khusus mereka.

  Gambar yang mengandungi teks, fon, tangkapan skrin Penerangan dijana secara automatik

Kesimpulan

Corak Kilang ialah corak reka bentuk ciptaan dalam C++ yang membenarkan penciptaan objek tanpa mengetahui kelas objek secara eksplisit. Ia menyediakan antara muka yang dipermudahkan untuk mencipta objek dengan menyembunyikan logik penciptaan kompleks di sebalik kelas kilang. Ini dilakukan dengan mentakrifkan antara muka biasa untuk mencipta objek, di mana kelas khusus objek ditentukan semasa runtime. Baca lebih lanjut mengenai corak kilang dalam artikel ini.