POJO hay POJOs trong Java là gì? (mô tả cơ bản)

POJO hay POJOs là từ viết tắt của của cụm từ "plain old Java object" hay "plain old Java objects" trong tiếng anh, tóm lai hai từ vốn chỉ là một từ, từ gốc là POJOs người ta rút gọn nó lại thành POJO thôi, trong bài này tôi xin lấy tù POJOs cho nó chuẩn.

POJOs thường được dịch sang nghĩa việt là "các đối tượng Java thuần túy" từ này thường được dùng để chỉ các chỉ những object java bình thường (chính xác hơn là đơn giản là chỉ có Java), chúng không có gì đặc biệt, không theo theo bất kỳ một mô hình, quy ước, nào cả chỉ đơn giản bao gồm các thuộc tính và các phương thức.

Nói đơn giản thì có nghĩa là một POJOs là một đối tượng Java không bị ràng buộc bởi bất kỳ hạn chế nào, không phụ thuộc vào bất kỳ gì, ngoại trừ người viết code :)) bị ràng buộc bởi những gì mà ngôn ngữ Java chỉ định (kiểu như nếu Java không cho viết thì coder không thể viết), chính vì thế một POJOs không nên có:

kế thừa tù một lớp đã được định trước (Extend prespecified classes), ví dụ như:
public class Foo extends javax.servlet.http.HttpServlet { ...

Kế thừa từ một lớp giao diện đã được định trước (Implement prespecified interfaces), ví dụ như:
public class Bar implements javax.ejb.EntityBean { ...

Chứa các các chỉ dẫn đã được định trước (Contain prespecified annotations), ví dụ như:
@javax.persistence.Entity public class Baz { ...

Tuy nhiên do khó khăn về kỹ thuật và các lý do khác nhau (nguyên nhân thì cao siêu quá mình không biết, đừng hỏi mềnh :)) nên nhiều (đa số) sản phần mền hoăc nền tảng (software product or framework) tuân thủ các khuôn khổ của JOJOs vẫn yêu dùng "prespecified annotations" với kiên quyết cho rằng vẫn tuân theo đúng qui tắc của JOJOs.

Ý tưởng là thế này "Ý tưởng là nếu đối tượng (thực ra lớp) là một POJOs trước khi bất kỳ chú thích
được thêm vào, và sẽ trở về trạng thái POJOs nếu các chú thích được loại bỏ, thì nó vẫn có thể được coi là một POJOs." nguyên văn tiếng anh là "The idea is that if the object (actually class) was a POJO before any annotations were added, and would return to POJO status if the annotations are removed then it can still be considered a POJO."

Ok đừng cố hiểu tại seo? vấn đề này mình thấy vui vui, giống như đang chống chế vậy, mình ghi thêm cho biết hoặc hiểu tại seo một số thằng gọi là POJOs nhưng vẫn có "prespecified annotations" thôi, còn thăng nào cho dùng thì bạn cứ dùng thôi, việc tranh cãi để cho các pác tiền tuyến xử lý :)).


http://laptrinh.vn/d/3910-gioi-thieu-ve-spring-framework.html


Đây là một trong bài viết tổng hợp và giải thích đơn giản các thuật ngữ công nghệ thông tin, máy tính, hay các thuật ngữ trên internet,... trong bài viết này mục tiêu của mình là giúp cho những bạn không thuộc lãnh vực này có nắm bắt và hiểu được các định nghĩa ở mức cơ bản.

Vì thế mình cố gắng giải thích một cách đơn giản nhất, dễ hiểu nhất. Tuy nhiên sẽ nhược điểm là sẽ không thể giải thích đủ hoặc chính xác hoàn toàn các thuật ngữ, vì muốn hiểu rõ chúng bạn cần phải học tập và tìm hiểu một cách chuyên sau hơn, tuy nhiên cũng không phải ai cũng cần biết chuyên sâu làm chi.

Nếu bài viết khó hiểu, hoặc bạn không hiểu một phần nào đó, hoặc sai, xin hãy phản hồi (comment) tại đây mình sẽ biên chỉnh lại cho phù hợp hơn, việc này sẽ giúp mình hoàn thiện bài viết hơn nữa, cảm ơn các bạn đã quan tâm.



Writer: +Bui Ngoc Son



1 comment: