用于创建重复对象,同时又能保证性能

使用场景

  1. 初始化消耗很多资源,比较复杂

Demo

  1. """
  2. 原型模式
  3. """
  4. from copy import copy
  5. class Book:
  6. def __init__(self, name, price):
  7. self.name = name
  8. self.price = price
  9. def display(self):
  10. print(f"书籍[{self.name}] 的价格是: {self.price}")
  11. def clone(self):
  12. return copy(self)
  13. if __name__ == '__main__':
  14. a = Book('演员是怎么样炼成的', 99.2)
  15. a.display()
  16. b = a.clone()
  17. b.price = 99.3
  18. b.display()
  19. a.display()