AOP là gì? Trong khi xây dựng các chương trình ứng dụng, có rất nhiều những vấn đề liên quan đến phần mềm mà chúng ta cần quan tâm. Chẳng hạn, chúng ta xây dựng một hệ thống đăng ký tạo tài khoản cho một ngân hàng. Ngoài công việc chính cho phép người dùng có […]
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 – DAO
Một trong những khía cạnh quan trọng của lớp nghiệp vụ (business layer) là lớp truy cập dữ liệu (data access layer) để kết nối các dịch vụ (service) với cơ sở dữ liệu (database). Việc truy cập dữ liệu tùy thuộc vào nguồn dữ liệu, loại lưu trữ như database, text file, xml file, […]
Hướng dẫn Java Design Pattern – Null Object
Trong lập trình hướng đối tượng, chúng ta thường xuyên kiểm tra một đối tượng xem có bằng null hay không trước khi thực hiện các phương thức của đối tượng để tránh lỗi Null Pointer Exception (NPE). Null không phải là một đối tượng, nó là một giá trị, các thao tác trên so […]