Giống nhau: PrototypeBuilder đều sử dụng để giảm độ phức tạp của constructor. Tuy nhiên, việc “giảm độ phức tạp” ở đây rất rộng và điều này dẫn đến sự khác biệt của hai pattern này.

Khác nhau:

  • Prototype được triển khai xoay quanh việc sử dụng phương thức clone và do đó hạn chế việc gọi các constructor phức tạp.
  • Builder được triển khai xoay quanh việc kiểm soát các constructor phức tạp.