Học Design Pattern: Flyweight Pattern – Khi Của Ít Nhưng Lòng Nhiều
Flyweight Pattern là cách diễn đạt Flexing khi mấy anh em dev không muốn dùng từ Cache – Caching – Memorization.
Flyweight Pattern là cách diễn đạt Flexing khi mấy anh em dev không muốn dùng từ Cache – Caching – Memorization.
Chain of Responsibility (CoR) là một Behavioral Pattern trong các Design Pattern thông dụng. CoR mang một tư tưởng là chia nhỏ các xử lý thành một chuỗi các xử lý nhỏ hơn, các Node bên trong chuỗi này sẽ đảm nhiệm 1 vai trò nhất định và truyền output của mình cho Node tiếp theo.
Thay vì lãng phí thời gian và công sức để viết lại code từ đầu, AE Dev chúng ta hoàn toàn có thể sử dụng Adapter Pattern để biến hóa các module, hay framework bất đồng ngôn ngữ thành những người bạn tâm giao, tâm đầu ý hợp cho sản phẩm của mình. Việc này vừa giúp rút ngắn thời gian phát triển, vẫn đảm bảo được sự ổn định của hệ thống cũ và chắc chắn sẽ giúp bạn có thêm nhiều bài học mới về phát triển sản phẩm đấy 🙂
Hãy tưởng tượng bạn đang xây dựng một ứng dụng quản lý chi tiêu. Ứng dụng này cần truy cập đến một đối tượng duy nhất để đọc và ghi (ExpendManager) các chi tiêu của khách hàng. Nếu có nhiều Instance của object ExpendManager, có thể xảy ra xung đột và dữ liệu cấu hình bị sai lệch.
Trong nhiều tình huống, chúng ta cần tạo ra các đối tượng mới mà có nhiều điểm tương đồng với các đối tượng đã tồn tại. Việc tạo ra các đối tượng này từ đầu có thể tốn kém về thời gian và tài nguyên, đồng thời dễ gây ra sai sót nếu tạo chúng một cách thủ công.
Hãy tưởng tượng rằng bạn đang xây dựng một hệ thống để tạo ra các báo cáo khác nhau. Một báo cáo có thể bao gồm tiêu đề, nội dung văn bản, bảng biểu, biểu đồ và chân trang. Việc sắp xếp và định dạng các thành phần này có thể khác nhau tùy thuộc vào loại báo cáo (ví dụ: báo cáo tài chính, báo cáo hiệu suất).
Tưởng tượng rằng team bạn cần phát triển một tính năng trên ứng dụng di động dùng để hiển thị nhiều Component khác nhau trên 1 màn hình, các Component này được hiển thị theo thứ tự và số lượng bất kỳ, đồng thời các Component này còn thuộc nhiều Team phát triển khác nhau.
Kotlin là một ngôn ngữ Hướng đối tượng, có đầy đủ các Đặc tính của Lập trình Hướng đối tượng. Kotlin có thể được sử dụng trong phát triển Backend application với các thư viện (Spring, Ktor) hoặc có thể sử dụng để phát triển ứng dụng Mobile (Android, iOS). Việc thành thạo ngôn ngữ Kotlin giúp bạn mở ra nhiều cơ hội việc làm. Hãy thử nếu bạn cảm thấy hứng thú với ngôn ngữ này!
Nghề Lập trình đã trải qua nhiều cuộc cách mạng, nhiều sự thay đổi để có thể đi đến một phương pháp là cơ sở, cốt lõi cho tất cả các phần mềm hiện tại – Phương pháp Lập trình hướng đối tượng. Trong topic đầy thú vị này hãy để tôi giới thiệu cho các bạn các phương pháp lập trình mà tiền nhân đã sử dụng khi chưa có sự xuất hiện của phương pháp lập trình Hướng đối tượng (OOP)