Adapter

Dẫn nhập thực tiễn: Có một super dev triển khai code corebank trong ngân hàng, sau một thời gian anh ta đã tích hợp được thư viện thanh toán SmartLink với hệ thống core, tuy nhiên chỉ sau đó vài năm khi ngân hàng nhà nước bắt buộc phải tích hợp với Banknet. Mặc dù cả hai bộ thư viện từ hai mạng thanh toán … Continue reading Adapter

Singleton

    Dẫn nhập thực tế: Hầu hết các đối tượng trong một ứng dụng đều chịu trách nhiệm cho công việc của chúng và truy xuất dữ liệu tự lưu trữ (self-contained data) và các tham chiếu trong phạm vi được đưa ra của chúng. Tuy nhiên, có nhiều đối tượng có thêm những nhiệm vụ và có ảnh hưởng rộng hơn, chẳng hạn … Continue reading Singleton

Factory Method

Dẫn nhập thực tế: Mỗi gia đình đều có sở thích nuôi thú cưng khác nhau. Có nhà thì nuôi mèo, có nhà thì nuôi chó. Nếu đưa bài toán này vào lập trình, chúng ta sẽ có các đối tượng: Lớp Family Family cung cấp thông tin về Pet: GetMyPet() FamilyHaveDog, FamilyHaveCat kế thừa từ Family Lớp Pet Pet cung cấp thông tin GetInforPet() Dog, … Continue reading Factory Method

Builder

Dẫn nhập tình huống thực tế: Trong ví dụ này, chúng ta hãy có một cửa hàng có nhiều loại xe (Verhicle). Nhưng Verhical lại có nhiều biến thể khác nhau: xe Scooter, xe máy, xe oto,… Có một số bước cần được theo dõi trước khi nhận được sản phẩm cuối cùng như: thêm bánh xe ( wheel) , sau đó thêm khung xe (body), … Continue reading Builder

Abstract Factory

Dẫn nhập tình huống thực tế: Chúng ta hãy xem xét thực tế các loại động vật trên hai châu lục: châu Úc và châu Phi. Sẽ có 2 loại động vật chính ở mỗi châu lục: Carnivore (Động vật ăn thịt) Herbivore (Động vật ăn cỏ) Như hình mô tả, ở mỗi châu lục chúng ta lại có mỗi loại động vật thuộc Carnivore hoặc Herbivore … Continue reading Abstract Factory

Giới thiệu Design Patterns

  1. Design Patterns là gì? Design patterns là một kỹ thuật trong lập trình hướng đối tượng, được các nhà nghiên cứu đúc kết và tạo ra các mẫu thiết kế chuẩn. Và design pattern không phải là một ngôn ngữ lập trình cụ thể nào cả, mà nó có thể sự dụng được trong hầu hết các ngôn lập trình có hỗ trợ OOP hiện nay. Hệ thống … Continue reading Giới thiệu Design Patterns