정적 클래스는 디버깅하기가 매우 어렵고 불가능하다는 것을 한 번 읽었습니다. 이 사실인가요? 왜 그런가요?정적 클래스는 디버깅하기가 매우 어렵고 불가능하다는 것을 한 번 읽었습니다. 이 사실인가요? 왜 그런가요?
예를 들어 도움이 될 경우, 여기에 내가 데이터베이스에 액세스하는 데 사용하는 PHP
클래스입니다 (I이 생각하지 않습니다 비록 PHP 관련 질문입니다) :
<?php
class DB
{
private static $instance;
private function __construct() { }
public static function getInstance()
{
if(!self::$instance)
{
self::$instance = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME . ';', DB_USER, DB_PASS);
}
return self::$instance;
}
public static function getPreparedStatement($query)
{
$db = self::getInstance();
return $db->prepare($query);
}
public static function query($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
}
public static function getResult($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
return $stmt;
}
public static function getSingleRow($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
return $stmt->fetch();
}
public static function getMultipleRows($query)
{
$stmt = self::getPreparedStatement($query);
$stmt->execute();
return $stmt->fetchAll();
}
}
?>
당신은 전쟁을 준비하고 있습니다 ... 정적 클래스/메소드에 대한 증오가 많이 있습니다. 그리고 당신이 싱글 톤을 가져올 때 더 악화됩니다 ... – Nix
괜찮습니다 :-) 주제가 궁금합니다. 사람들이 제공하는 답변을 기대합니다. –