Guideline30: Apply Prototype for Abstract Copy Operations Apply the Prototype design pattern with the intent to create copies of abstract entities. Prefer building on the two copy operations for value types. Keep in mind the performance drawbacks resulting from pointer indirections and memory allocations.