読み方 : ポジョ
POJO【Plain Old Java Object】
概要

2000年に米国の著名なソフトウェア技術者、マーティン・ファウラー(Martin Fowler)氏らが提唱した用語である。当時、Webアプリケーション開発などで特定のフレームワークなどを前提に、その仕様に縛られるオブジェクトの開発手法が広まる中、そうした制約のない「何でもない普通のJavaオブジェクト」を意味する用語がないという問題意識から考案された。
当時は、サーバ向けの開発環境などで普及し始めた「EJB」(Enterprise JavaBeans)の複雑な仕様に対応したオブジェクトとの対比で用いられた。EJBは分散処理やトランザクション管理などの機能を提供するが、対応プログラムに特定のコンテナ環境や複雑なインターフェース実装を要求した。その反動として、フレームワークに強く依存しないシンプルなオブジェクト設計の重要性が認識されるようになり、POJOという用語が生まれた。
その後、他のプログラミング言語でも、特定のフレームワークなどを前提としない言語仕様のみに従ったシンプルな設計のクラスやオブジェクトなどを指す言葉として「Plain Old ~」という表現が広まった。.NET言語における「Plain Old CLR Object」(POCO)、Rubyにおける「Plain Old Ruby Object」(PORO)、PHPにおける「Plain Old PHP Object」(POPO)などである。