Patró de disseny Singleton en C ++ modern

Bloc

Patró de disseny Singleton en C ++ modern

En enginyeria de programari, els patrons de disseny creatiu tracten els mecanismes de creació d’objectes, intentant crear objectes d’una manera adequada a la situació. La forma bàsica o ordinària de creació d'objectes pot provocar problemes de disseny o una complexitat afegida al disseny. En aquest article dels patrons de disseny creatius, farem una ullada al patró de disseny tan odiat i que es demana habitualment en una entrevista de programació. Aquest és el patró de disseny de Singleton a Modern C ++ que critica la seva extensibilitat i testabilitat. També tractaré el patró de disseny Multiton, que és molt contrari a Singleton.



Els fragments de codi que veieu al llarg d’aquesta sèrie d’articles són simplificats i poc sofisticats. Per tant, sovint veieu que no faig servir paraules clau com override, final, public (mentre que és una herència) només per fer que el codi sigui compacte i consumible (la majoria de les vegades) en una mida de pantalla única estàndard. També prefereixo struct en lloc de class només per estalviar línia no escrivint public: de vegades i també trobo a faltar virtual destructor , Constructor, constructor de còpies , prefix std::, suprimint la memòria dinàmica de manera intencionada. També em considero una persona pragmàtica que vol transmetre una idea de la manera més senzilla possible en lloc de la forma estàndard o utilitzant Jargons.

Nota:



  • Si ensopegués aquí directament, us suggeriria que hi passés, Què és el patró de disseny? primer, encara que sigui trivial. Crec que us animarà a explorar més sobre aquest tema.
  • Tot aquest codi que trobeu en aquesta sèrie d'articles es compila amb C ++ 20 (encara que ho he fet servir C ++ modern inclou fins a C ++ 17 en la majoria dels casos). Per tant, si no teniu accés al compilador més recent, podeu utilitzar-lo https://wandbox.org/ que també ha preinstal·lat la biblioteca d’augment.

Intenció

Per crear una i només una instància d'una classe en qualsevol moment.

El patró de disseny de Singleton garanteix que una classe només té una instància i proporciona un punt d’accés global a aquesta instància. Això és útil quan exactament un objecte necessita coordinar accions a tot el sistema. Per tant, bàsicament, el patró de disseny de Singleton no és més que especificar tota la vida.



# patrons de disseny # c ++ #plusplus # programació-c

dzone.com

Patró de disseny Singleton en C ++ modern

El. El propòsit del patró de disseny de Singleton és crear només una instància d'una classe a la vegada. Consulteu com implementar-ho a C ++. Per crear només una instància d'una classe en qualsevol moment. En enginyeria de programari, els patrons de disseny creatiu tracten els mecanismes de creació d’objectes, intentant crear objectes d’una manera adequada a la situació.