Rumah > Artikel > pembangunan bahagian belakang > Interaksi antara corak reka bentuk dan Perpustakaan Templat Standard (STL) dalam C++
Corak reka bentuk digabungkan dengan STL menghasilkan kod yang lebih fleksibel, boleh digunakan semula dan boleh diselenggara. Dengan menggabungkan STL (menyediakan struktur data asas dan algoritma) dan corak reka bentuk (menyediakan rangka kerja untuk menyusun kod), seperti corak pemerhati dan contoh praktikal senarai, pemerhati boleh ditambah dan dialih keluar secara dinamik, sekali gus meningkatkan fleksibiliti dan kebolehgunaan semula kod. .
Interaksi antara corak reka bentuk dan STL dalam C++
Corak reka bentuk ialah koleksi penyelesaian boleh guna semula dalam kejuruteraan perisian, manakala Perpustakaan Templat Standard (STL) ialah bekas yang berkuasa dan perpustakaan algoritma dalam C++.
Mengapa menggunakan corak reka bentuk dengan STL?
Dengan menggabungkan corak reka bentuk dengan STL, anda boleh mencipta kod yang lebih fleksibel, boleh diguna semula dan mudah diselenggara. STL menyediakan struktur dan algoritma data asas, manakala corak reka bentuk menyediakan rangka kerja untuk menyusun dan menstruktur kod.
Kes Praktikal: Corak dan Senarai Pemerhati
Pertimbangkan kes praktikal corak Pemerhati, di mana berbilang pemerhati boleh melanggan topik dan menerima pemberitahuan tentang perubahan status topik. Kita boleh menggunakan senarai STL untuk mengurus pemerhati:
#include <list> #include <iostream> using namespace std; class Subject { public: void attach(Observer* observer) { observers_.push_back(observer); } void detach(Observer* observer) { observers_.remove(observer); } void notify() { for (auto& observer : observers_) { observer->update(); } } private: list<Observer*> observers_; }; class Observer { public: virtual void update() = 0; }; class ConcreteObserverA : public Observer { public: void update() { cout << "ConcreteObserverA notified.\n"; } }; class ConcreteObserverB : public Observer { public: void update() { cout << "ConcreteObserverB notified.\n"; } }; int main() { Subject subject; ConcreteObserverA observerA; ConcreteObserverB observerB; subject.attach(&observerA); subject.attach(&observerB); subject.notify(); return 0; }
Faedah
Atas ialah kandungan terperinci Interaksi antara corak reka bentuk dan Perpustakaan Templat Standard (STL) dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!