- vừa được xem lúc

[Design pattern] Singleton Pattern; Factory Method Pattern [p2]

0 0 22

Người đăng: shadow cloud

Theo Viblo Asia

Introduction

Singleton pattern? Factory Method Pattern?

Content

I. Singleton pattern

Singleton Pattern là một trong những Design Pattern cơ bản nhất. Trong phần này, chúng ta sẽ tìm hiểu cách áp dụng Singleton Pattern để đảm bảo rằng một lớp chỉ có duy nhất một thể hiện (instance). Chúng ta sẽ khám phá cách triển khai Singleton Pattern trong các ngôn ngữ lập trình phổ biến như Java, C++, và C#. Chúng ta cũng sẽ xem xét các ví dụ thực tế về việc sử dụng Singleton Pattern, như truy cập vào cơ sở dữ liệu, cấu hình ứng dụng và các tài nguyên chia sẻ.

const Singleton = (function () { let instance; function createInstance() { // Private variables and methods return { publicMethod: function () { console.log("Singleton public method"); }, publicProperty: "Singleton public property", }; } return { getInstance: function () { if (!instance) { instance = createInstance(); } return instance; }, };
})(); // Usage
const singletonInstance1 = Singleton.getInstance();
const singletonInstance2 = Singleton.getInstance(); console.log(singletonInstance1 === singletonInstance2); // true
singletonInstance1.publicMethod(); // Singleton public method
console.log(singletonInstance1.publicProperty); // Singleton public property

II. Factory method pattern

Factory Method Pattern là một Design Pattern thuộc nhóm Creational Pattern. Trong phần này, chúng ta sẽ tìm hiểu cách áp dụng Factory Method Pattern để tạo ra đối tượng mà không cần chỉ định rõ lớp cụ thể của đối tượng đó. Chúng ta sẽ khám phá cách triển khai Factory Method Pattern trong ngôn ngữ lập trình Java và C#. Chúng ta cũng sẽ xem xét các ví dụ về việc sử dụng Factory Method Pattern trong các tình huống khác nhau, như tạo đối tượng trong một hệ thống đa dạng các loại đối tượng và tạo đối tượng theo yêu cầu của người dùng.

class Product { operation() { console.log("Product operation"); }
} class ConcreteProduct extends Product { operation() { console.log("ConcreteProduct operation"); }
} class Creator { factoryMethod() { throw new Error("Subclasses must override this method"); } operation() { const product = this.factoryMethod(); product.operation(); }
} class ConcreteCreator extends Creator { factoryMethod() { return new ConcreteProduct(); }
} // Usage
const creator = new ConcreteCreator();
creator.operation(); // ConcreteProduct operation

Conclusion

Bài viết này đã giới thiệu về Design Pattern và giới thiệu hai Design Pattern cơ bản là Singleton Pattern và Factory Method Pattern. Chúng ta đã tìm hiểu về ý nghĩa và cách áp dụng của mỗi Design Pattern, cũng như xem xét các ví dụ thực tế để hiểu rõ hơn về cách chúng được sử dụng. Tiếp tục theo dõi series để khám phá thêm các Design Pattern khác nhau từ dễ đến khó.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 302

- vừa được xem lúc

Giới thiệu về Builder Design Pattern

Nguồn: refactoring.guru. Builder. Ý đồ.

0 0 44

- vừa được xem lúc

Một ví dụ nhỏ về Factory method

Trong bài viết trước mình đã giới thiệu tới các bạn về Abstract Factory pattern, các bạn quan tâm có thể theo dõi lại tại đây. Để tiếp tục về chủ đề design pattern trong bài viết này mình sẽ trình bày những khái niệm, ưu nhược điểm và các sử dụng của một creational design pattern khác đó là Factory

0 0 38

- vừa được xem lúc

Tôi đã dùng Service Pattern trong NuxtJS như thế nào ?

Giới thiệu. Trong quá trình làm VueJS NuxtJS hay thậm chí là Laravel mình cũng hay áp dụng các pattern như Service hoặc Repository.

0 0 69

- vừa được xem lúc

Hướng dẫn Adapter Design Pattern

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về Adapter Design Pattern qua cấu trúc, cánh triển khai, ví dụ, ưu điểm nhược điểm và ứng dụng của nó. Đây là bài viết đầu tiên của mình nên sẽ không trán

1 1 63

- vừa được xem lúc

Giới thiệu về Prototype Design Pattern

Ý đồ. Prototype là một creational design pattern cho phép bạn sao chép các object hiện có mà không làm cho code của bạn phụ thuộc vào các class của chúng.

0 0 52