public function __construct(\PDO $pdo) { $this->pdo = $pdo; } public function getUserById($id) { /* SELECT処理 */ } public function getAllUsers() { /* SELECT ALL */ } public function createUser($data) { /* INSERT処理 */ } public function updateUser($id, $data) { /* UPDATE処理 */ } public function deleteUser($id) { /* DELETE処理 */ } // 付随したものが増える public function getUsersByCondition($condition) { /* 条件付きSELECT */ } public function existsUser($id) { /* 存在チェック */ } // 以降永遠に続く } 35 💔DB処理が大量に詰め込まれたサービス
… } public function updateUser($id, array $data) { … } public function deleteUser($userId) { … } public function validateUser(array $data) { … } public function sendWelcomeEmail($user) { … } public function generateReport($userId) { … } public function exportUserData($userId) { … } // ... さらに続く } 36 💔どこからでも呼ばれてしまう「神」サービス