팩토리 패턴
- 직접 생성자(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();
}
'프로그래밍 > C#' 카테고리의 다른 글
[C#] C# 10.0 CallerArgumentExpression특성 (0) | 2025.01.02 |
---|---|
[WPF] ObservableObject (0) | 2024.12.24 |
[C#] CPU, DISK I/O 스트레스 테스트 (0) | 2024.10.18 |
[WPF] GroupBox 안에 2개 이상의 요소 넣기 (0) | 2024.10.15 |
[C#] WPF Func<T> (0) | 2024.09.27 |