EzyPlatform cũng là một framework
Back To BlogsFramework là gì?
Như đã nói ở bài trước, một thư viện lập trình là nơi mà bạn có thể tìm thấy các lớp, các hàm mà thư viện đó cung cấp, ví dụ trong mã nguồn dưới đây:
package com.tvd12.ezyfox.example.util; import com.tvd12.ezyfox.io.EzyStrings; public class Program { public static void main(String[] args) { if (EzyStrings.isBlank(args[0])) { throw new IllegalStateException("invalid"); } } }
Chúng ta đang sử dụng hàm isBlank
để kiểm tra chuỗi truyền vào có rỗng hay không, và hàm này thuộc thư viện ezyfox-util.
Khác với thư viện thì framework có những quy tắc được đóng thành một khung, bạn phải tuân thủ những nguyên tắc nằm trong khung này thì chương trình của bạn mới chạy được. Một framework có thể sử dụng nhiều các thư viện khác nhau để đạt được mục tiêu của mình.
Bởi vì mỗi framework sẽ đóng khung các tiêu chuẩn riêng, nên rất có thể mã nguồn của bạn chạy được trên framework này nhưng mang sang framework khác lại không chạy được.
Đến đây có lẽ bạn vẫn sẽ bị khó hiểu framework là gì, chúng ta sẽ tìm hiểu thông qua ezyplatform nhé.
EzyPlatform framework
Để có thể hiểu rõ nhất EzyPlatform framework trông như thế nào thì bạn sẽ cần khởi tạo một dự án plugin, hãy nói plugin đó có tên là book-store. Thông qua dự án này bạn sẽ nhận thấy một số thứ:
- Dự án phải tuân theo một chuẩn cấu trúc thư mục và tập tin do EzyPlaform đặt ra ví dụ tên thư mục phải có dạng
tên dự án-loại module
. - Dự án phải sử dụng cấu hình theo quy chuẩn, ví dụ như phải sử dụng các thư viện của ezyplatform trong tập tin
pom.xml
, trong các thư mục module của dự án phải có tập tin module.properties để mô tả, trong module admin nếu muốn bổ sung menu vào giao diện admin thì phải có tập tin menu.properties. - Trong mã nguồn phải sử dụng các annotation của ezyfox, ví dụ
@EzySingleton
chứ không được sử dụng@Component
annotation của spring. - Phải sử dụng phương thức đóng gói từ dự án thành plugin theo quy chuẩn của EzyPlatform.
- Phải sử dụng cơ sở dữ liệu có các bảng của EzyPlatform, tuy nhiên bạn cũng có thể tuỳ ý bổ sung bảng của mình vào cở sở dữ liệu này.
- Khi bạn khởi chạy admin module thì nó cũng sử dụng giao diện admin của EzyPlatform.
Tổng kết
Ngoài cung cấp các thư viện cần thiết thì EzyPlatform cũng đóng vai trò là một framework để hỗ trợ bạn phát triển các plugin theo các tiêu chuẩn để đảm bảo plugin của bạn có khả năng tích hợp vào EzyPlatform được cài đặt ở bất cứ đâu mà không làm phá vỡ bất cứ thứ gì.