ドメイン駆動設計
ドメイン駆動型設計では、オブジェクトの作成はオブジェクト自体から切り離されることがよくある。例えばリポジトリは、データストア(データベースなど)からドメインオブジェクトを取得するためのメソッドを備えたオブジェクトであり、同様にファクトリはドメインオブジェクトを直接作成するためのメソッドを持つオブジェクトである。プログラムの機能の一部が概念的にどのオブジェクトにも属さない場合、通常はサービスとして表現される。