Singleton là gì

     

Để ban đầu cho loạt 26 pattern ao ước giới thiệu, bản thân xin được lựa chọn Singleton nỗ lực vì làm theo thứ từ ABC. Nguyên nhân là Singleton không thực sự khó để hiểu mà lợi ích đem lại chưa hẳn nhỏ, mặc dù nhiên, hình như nó đang bị xem nhẹ và có rất nhiều hiểu nhầm. Singleton xứng đáng nhận được không ít sự trân trọng hơn.

Bạn đang xem: Singleton là gì

Nếu bạn mới lần đầu tiên nghe thấy nhị từ “design pattern” hoặc vừa làm cho quen cùng với nó thôi, chắc các bạn sẽ muốn gọi bài ra mắt sơ lược của mình tại đây. Trong bài xích đó, mình trình bày design pattern là gì, có những loại nào, cùng vài lời bình luận xàm.


*
*

Bên cạnh các chiêu thức khác, Singleton được yêu quý hết mực, thậm chí so bề tài sắc đẹp lại là phần hơn. Ấy cũng bởi vì nó dễ dàng nắm bắt ý tưởng, dễ đưa vào sử dụng. Tuy nhiên hỡi ôi, kiếm tốt rồi cũng đứt tay người. Singleton trở thành bé dao nhị lưỡi chui vào sau sống lưng nhiều đại hiệp. Những người dân thiết kế khối hệ thống quá lạm dụng nó đã khiến cho họ đề xuất nhận lời đắng cay từ những lập trình viên hì hụi refactor.

Và mồm đời gán đến Singleton dòng danh ác quỷ.

Xem thêm: Phân Biệt Cách Dùng Mock, Make Fun Of Nghĩa Là Gì, Make Fun Of Là Gì

Tại sao lại có lời hiểm độc như vậy? vì những người xây đắp phớt lờ bốn xem xét ở trên. À quên, hồi ấy đã làm cái gi có mấy xem xét đó. Họ vẫn làm nạm này. Đầu tiên, họ ép những đối tượng người sử dụng có thể có tương đối nhiều thể hiện trở nên chỉ có thể có tiện hiện. Cùng code bỗng không thể dễ nạm đổi, dễ update nữa, không hề flexible. Cùng tiếp theo, tai sợ hãi hơn, họ khiến chương trình khó khăn test, khó debug hơn bằng cách dùng chiêu thức singleton mà họ ưa thích. Rất nặng nề để viết unit kiểm tra cho hầu như đoạn code dùng chiêu thức ấy.

Chính vì những tác hại khôn lường nhưng singleton rất có thể đem lại, bọn họ nên nghiêm túc nhìn nhận rằng: nó quả thực là một trong anti-pattern. Khi muốn áp dụng nó, hãy chắc chắn rằng chúng ta đã chú ý các để ý bên trên. Dấu hiệu để sàng lọc Singleton bao gồm là: liệu việc tạo ra nhiều biểu lộ của class có gây nên nguy hiểm hay là không (chẳng hạn một công ty mà có rất nhiều giám đốc điều hành). Đồng thời, cũng cần đảm bảo việc sử dụng Singleton không tác động đến việc thực thi, tài năng nâng cấp, duy trì của chương trình.

Xem thêm: Tại Sao Nghệ Sĩ Không Uống Nước Mía Của Nghệ Sĩ Khi Đi Diễn, Vì Sao Nghệ Sĩ Không Được Uống Nước Mía

Mong rằng bài viết này sẽ giúp ích cho câu hỏi lập trình của bạn. Và hãy giữ cho việc vận dụng design pattern là “healthy & balance”.