Thắc mắc về design pattern factory method

mình vừa đọc qua 1 bài về design pattern này mình có 1 thắc mắc thế này ?

  1. có phải mỗi class concrete factory sẽ tạo ra 1 loại instance vậy cứ mỗi lần cần tạo 1 loại instance mới lại phải tạo 1 class concrete factory tương ứng ?? nếu như vậy sao ta không inject trực tiếp instance của class vào mà mắc công tạo ra class concrete factory trong khi cái đích cuối cùng cũng chỉ trả về 1 instance của class cần tạo ( vì bên trong thân hàm của class concrete factory cũng chỉ return về 1 new instance thôi )
  1. Mục đích của Factory là để khởi tạo đối tượng mà ko cần biết chính xác kiểu dữ liệu của đối tượng đó.
  2. Giúp quản lí mã nguồn tốt hơn.
    Ví dụ trong 1 vòng lặp mà bn muốn khởi tạo nhiều đối tượng ngẫu nhiên thì sao, lúc này dùng Factory sẽ đỡ vất vả hơn. Thứ 2 là nếu ko dùng Factory thì đối tượng sẽ đc tạo trong quá trình runtime, còn nếu dùng Factory thì lúc đầu bạn phải register type đối tượng.
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?