프로그래밍/C#
[C#] 팩토리 패턴
Victory_HA
2025. 1. 3. 15:17
팩토리 패턴
- 직접 생성자(new 연산자)호출 사용 대신 객체 생성 시 사용됩니다.
- 팩토리 메서드의 반환 유형은 일반적으로 추상 클래스 또는 인터페이스로 선언됩니다.
샘플 코드
static void Main(string[] args)
{
IDBConnector dbConnector = DBFactory.CreateDBConnector("Oracle");
dbConnector.Connection();
dbConnector.Disconnection();
}
public class DBFactory
{
public static IDBConnector CreateDBConnector(string dbType)
{
return dbType switch
{
"Oracle" => new OracleDB(),
"PostgreSQL" => new PostgreSQL(),
_ => throw new NotImplementedException()
};
}
}
public interface IDBConnector : IDisposable
{
void Connection();
void DisConnection();
}
public class OracleDB : IDBConnector
{
public void Connection() =>
Console.WriteLine($"Connected OracleDB Executor");
public void Disconnection() =>
Console.WriteLine($"Disconnected OracleDB Executor");
public void Dispose() => Dispose();
}
public class PostgreSQL : IDBConnector
{
public void Connection() =>
Console.WriteLine($"Connected PostgreSQL Executor");
public void Disconnection() =>
Console.WriteLine($"Disconnected PostgreSQL Executor");
public void Dispose() => Dispose();
}