Prototyp (designmönster)

Prototyp är ett designmönster inom programutveckling. Det används när objekttypen att skapa är bestämd av en prototypförekomst, som klonas för att skapa nya objekt. Detta mönster används för att:

  • undvika underklasser till en objektskapare i klientapplikationen, som designmönstret abstrakt fabrik gör.
  • undvika arv för att skapa ett nytt objekt på det vanliga sättet (d.v.s. att använda nyckelordet 'new') när det är alltför resurskrävande för en applikation.

För att implementera mönstret deklareras en abstrakt basklass som anger en ren virtuell kloningsmetod. Alla klasser som behöver en "polymorfisk konstruktor" deriverar sig själv från den abstrakta basklassen och implementerar kloningsoperationen.

Klienten – som istället för att skriva kod som anropar operatorn "new" i en hårdkodad klass – anropar kloningsmetoden i prototypen, som anropar en fabriksmetod med en parameter som betecknar den specifika konkreta deriverade klassen som önskas, eller anropar kloningsmetoden via någon mekanism som ges av ett annat designmönster.

Referenser

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia.

Media som används på denna webbplats

Question book-4.svg
Författare/Upphovsman: Tkgd2007, Licens: CC BY-SA 3.0
A new incarnation of Image:Question_book-3.svg, which was uploaded by user AzaToth. This file is available on the English version of Wikipedia under the filename en:Image:Question book-new.svg