Rumah >pembangunan bahagian belakang >C++ >Interaksi antara corak reka bentuk dan Perpustakaan Templat Standard (STL) dalam C++

Interaksi antara corak reka bentuk dan Perpustakaan Templat Standard (STL) dalam C++

WBOY
WBOYasal
2024-05-31 17:52:00499semak imbas

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 Perpustakaan Templat Standard (STL) dalam C++

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

  • Menggunakan senarai STL untuk mengurus pemerhati menyediakan storan dan fungsi akses asas.
  • Gabungan corak pemerhati dan senarai STL membolehkan penambahan dan penyingkiran pemerhati yang dinamik.
  • Ini menjadikan kod lebih fleksibel dan boleh digunakan semula.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn