Trong các bài trước, tôi đã giới thiệu với các bạn Aspect Oriented Programming (AOP) và cách tự xây dựng một AOP Framework với JDK Proxy. Trong bài này, chúng ta sẽ cùng tìm hiểu cách sử dụng AOP với thư viện Google Guice. Giới thiệu Google Guice AOP Ngoài việc hỗ trợ mạnh mẽ về Dependency Injection […]
Giới thiệu Google Guice – Injection, Scope
Trong bài trước, tôi đã giới thiệu với các bạn các loại binding được hỗ trợ bởi Google Guice. Trong bài này, chúng ta sẽ cùng tìm hiểu về các loại Injection và Scope được hỗ trợ bởi Guice. Injection Dependency Injection Pattern tách hành vi khỏi các phụ thuộc (dependency). Thay vì tìm kiếm các phụ […]
Giới thiệu Google Guice – Binding
Trong bài trước, tôi đã giới thiệu với các bạn cơ bản về Google Guice. Trong bài này, chúng ta sẽ cùng tìm hiểu chi tiết hơn về các loại Binding được hỗ trợ bởi Google Guice. Linked Bindings Linked bindings (ràng buộc) ánh xạ một type với một implementation của nó. Cú pháp: Ví […]
Giới thiệu Google Guice – Dependency injection (DI) framework
Trong bài trước, tôi đã giới thiệu với các bạn Dependency Injection (DI) và cách tự xây dựng 1 framework đảo ngược điều khiển (IoC) để quản lý các dependency. Trong bài này, chúng ta sẽ cùng tìm hiểu về Google Guice – một framework giúp chúng ta dễ dàng quản lý và sử dụng các dependency. […]
Hướng dẫn Java Design Pattern – Dependency Injection
Với lập trình hướng đối tượng, chúng ta thường xuyên làm việc với rất nhiều class trong một chương trình, các class được liên kết với nhau theo một mối quan hệ nào đó. Dependency là một loại quan hệ giữa 2 class mà trong đó một class hoạt động độc lập và class còn […]
Hướng dẫn Java Design Pattern – Service Locator
Trong các ứng dụng, chúng ta thường gặp trường hợp một class Client phụ thuộc vào một service hoặc một component là những lớp cụ thể (concrete class) trong lúc chạy ứng dụng. Sự phụ thuộc của class Client vào các service này sẽ có một số vấn đề cần phải giải quyết: Nếu thay thế hoặc […]
Hướng dẫn Java Design Pattern – Object Pool
Trong OOP, một class có thể có rất nhiều instance nhưng ngược lại Singleton là một dạng class mà chỉ hỗ trợ tối đa một instance duy nhất và một đối tượng khi đã được khởi tạo sẽ tồn tại suốt vòng đời chương trình. Trong một số trường hợp, chúng ta cần khởi tạo và […]
Hướng dẫn Java Design Pattern – Builder
Các hàm xây dựng (constructor) trong Java được sử dụng để tạo đối tượng và có thể lấy các tham số cần thiết để tạo đối tượng. Vấn đề khi một đối tượng có thể được tạo ra với nhiều tham số (param), một số có thể là bắt buộc và một số khác có […]