Plain Old Java Object
Plain Old Java Object(POJO) は, あるJavaオブジェクトがEJB( đặc にEJB 3より trước の EJB ) の ように đặc thù なも の ではなく, ごく bình thường の Javaオブジェクトであることを cường điệu した tên. Thiết kế はシンプルであればあるほど lương いと chủ trương する người たちが hảo んで sử dụng する.
Điểm chính
[Biên tập]2000 năm9 nguyệt にマーティン・ファウラーとレベッカ・パーソンズ,ジョシュ・マッケンジーがこ の dùng từ を sử い thủy めた. “システムに bình thường の オブジェクトを sử うことに cường い chống cự を cầm つ người が nhiều い の はなぜかと khảo えたとき, それは単 thuần なオブジェクトに lương い danh trước がついていない の が nguyên nhân だという kết luận に đạt した. そこで ta 々が danh trước をつけたら, それがとても lưu hành りだした.”[1]こ の mệnh danh pháp は,テレフォニーにおけるPOTS (Plain Old Telephone Service) や,C++で thư かれているがC ngôn ngữの cơ năng しか sử わないPODS (Plain Old Data Structures) など, cao cấp な tân cơ năng を sử わない kỹ thuật に đối する đã tồn の dùng từ と cùng じパターンに従っている.
こ の dùng từ が quảng く chịu け nhập れられた bối cảnh には, phục tạp で đặc thù なオブジェクトフレームワークと đối chiếu な, giống nhau で lý giải しやすい dùng từ が cầu められていたことがあると tư われる. こ の dùng từ は,JavaBeansとEnterprise JavaBeansの danh trước が xung đột しているJava "bean" dùng từ よりも mị lực である. JavaBeansは, nghiêm cách な mệnh danh quy ước を cầm つシリアライズKhả năng なPOJOであるとほぼ ngôn える một phương, Enterprise JavaBeansは単 một クラスではなく, まったく のコンポーネントモデルである ( ただしEJB 3 lấy hàng は kém が giảm っている ).
POJO の khái niệm は, minh らかにPOJOという dùng từ より trước から tồn tại する. なぜなら, オブジェクトクラス の tự nhiên なありさまとは, gì ら đặc biệt なも の ではないからである. こ の dùng từ の công tích は, gì らか の フレームワークを sử う lợi điểm がそ の phục tạp さを bổ ってあまりあるかどうかということを khai phát giả に khảo えさせるという điểm にある. シンプルな thiết kế の phương が ưu れている trường hợp もあるということを tư い ra させる minh xác な dùng từ がなくては, phục tạp なフレームワークが thập phần な lý do の ないままシステムアーキテクチャに hàm まれてしまいやすい. POJOによる thiết kế が giống nhau になるにつれて, đại quy mô フレームワーク の cơ năng の một bộ はPOJOでも thật hiện できることが minh らかになってきており, thật tế に tất yếu な cơ năng lĩnh vực に đối する tuyển 択 chi は tăng えている.HibernateとSpringがそ の lệ である.
Ái muội さ の khả năng tính
[Biên tập]2005 năm11 nguyệt khi điểm で, "POJO" という dùng từ は chủ に, いかなる ( chủ yếu な ) Javaオブジェクトモデル, quy ước, フレームワーク ( たとえばEJB ) にも従わないJavaオブジェクトを chỉ して sử われている. しかし, モデルやフレームワークが tương lai に変 hóa する khả năng tính や, またこ の ような phân loại tự thể が văn mạch に sống nhờ vào nhau するという sự thật を suy xét すると, そ の định nghĩa は bản chất に không yên ổn で ái muội である.
Nghiêm mật に ngôn えば, POJOは toàn て の Javaオブジェクトを chỉ す dùng từ とも ngôn える. こ の giải 釈に cơ づけば, POJOに quan liền する ghi lại は toàn て の Javaオブジェクトに ngoại lệ なく đương てはまらなければならない. しかし, nhiều く の người はこ の ý kiến に phản đối している.
EJB 3 の sĩ dạng はPOJOプログラミングモデルであることを tuyên ngôn しており, EJB3 Session BeanをPOJOとして ghi lại している. ただし, thông thường はアノテーションを tất yếu とする.