Shopping Cart

Thành Tiền 0đ
Tổng Tiền 0đ
RƯỢU NGOẠI SÀI GÒN

SINGLETON

Phần lớn các chai rượu của Singleton đều được trưởng thành qua các thùng ngâm sherry oak và thùng bourbon, để lại dư vị trái cây và quả hạch phong phú

THÔNG TIN CHI TIẾT

Tìm hiểu về Singleton

Lưu ý: nội dung của bài viết sẽ tập trung vào giới thiệu Singleton Design Pattern sao cho dễ hiểu nhất và làm nổi bật giá trị của Design Pattern này. Nếu bạn đang tìm cách để triển khai Singleton trong một dự án hay một ngôn ngữ lập trình, bạn nên tìm kiếm bằng những từ khóa như: “Singleton + ngôn ngữ lập trình” ví dụ như: Java Singleton example, Spring Boot singleton example,… để có nội dung chuyên sâu về code bạn nhé!

Singleton là gì?

Singleton là một Design Pattern thuộc nhóm Creational Design Pattern cùng với Abstract Factory Pattern. Bạn có thể hiểu đơn giản rằng: Singleton là một Design Pattern đảm bảo rằng mỗi class sẽ chỉ có duy nhất 1 instance, đồng thời cung cấp một điểm truy cập toàn cục cho instance này.

Để hiểu hơn về Singleton, bạn sẽ cần phải đọc qua về SOLID là gì? 5 nguyên tắc của SOLID nhé! Vì, Singleton sẽ giải quyết được hai vấn để trong Single-responsibility Principle – Nguyên tắc trách nhiệm đơn lẻ của SOLID đấy! Hai vấn đề đó bao gồm:

  • Mỗi class chỉ có một instance duy nhất.
  • Instance cần cung cấp một điểm truy cập chung hay bạn có thể truy cập instance đó ở bất kỳ đâu.

Vì sao nên sử dụng Singleton?

Ví dụ, để tạo một ứng dụng nghe nhạc, để bật tắt nhạc, bạn sẽ khởi tạo 2 instance: 1 cho “bật” và 1 cho “tắt”. Điều này sẽ dẫn đến tình trạng 2 instance không liên quan đến nhau không thể làm việc thay thế cho nhau được. Vì thế, phương án tốt nhất là bạn sẽ khởi tạo 1 instance để bật và tắt nhạc. Singleton chính là giải pháp bạn đang cần khi:

  • Bạn có thể đặt phương thức khởi tạo là riêng tư và không cho các class khác sử dụng new với class Singleton.
  • Sử dụng phương thức tĩnh để khởi tạo Singleton, tất cả lệnh gọi đến phương thức này sẽ được trả về bộ nhớ cache.

Nếu code của bạn có khả năng truy cập vào class Singleton đồng nghĩa với việc có thể gọi phương thức tĩnh của Singleton. Bất cứ khi nào bạn làm vậy, sẽ có cùng một đối tượng được trả về. Vậy là vấn đề của bạn được giải quyết! Thật quá tiện lợi đúng không nào?

Ví dụ về Singleton

Tino Group sẽ lấy một ví dụ từ thực tế nhé! Ví dụ thực tế nhất để minh họa cho Singleton Design Pattern chính là bộ máy Chính Phủ. Một quốc gia chỉ có duy nhất 1 Chính Phủ chính thức đồng nghĩa với việc “Chính Phủ X” là điểm truy cập được xác định rõ ràng và duy nhất.

Ưu điểm và nhược điểm của Singleton

Tiếp theo, chúng ta sẽ tìm hiểu về ưu điểm và nhược điểm của Singleton nhé!

Ưu điểm của Singleton

3 ưu điểm vượt trội nhất của Singleton chính là những đặc điểm chúng ta đã nhắc lại khác nhiều lần trong bài đó là:

  • Bạn có thể chắc chắn rằng mỗi class chỉ có một instance duy nhất.
  • Bạn có thể truy cập instance ở bất cứ đâu và bất cứ khi nào
  • Singleton chỉ khởi tạo khi bạn gọi chúng lần đầu tiên (gọi khi nào khởi tạo khi ấy).
Tuân thủ Nghị định số 185/2013/NĐ-CP của Chính Phủ và luật quảng cáo số 16/2012/QH13 về kinh doanh bán hàng qua mạng. Ruoungoaisg.vn là trang thông tin chia sẻ kiến thức về rượu ngoại hoạt động phi lợi nhuận. Chúng tôi không kinh doanh trực tiếp trên internet. ( Giá trên website chỉ mang tính chất tham khảo )