CS이론/디자인패턴
-
팩토리 패턴(Factory Pattern)CS이론/디자인패턴 2023. 8. 11. 17:10
팩토리 패턴이란? 팩토리 패턴(Factory Pattern)은 GoF의 생성 패턴 중 하나로 객체 생성 부분을 떼어내 추상화한 패턴입니다. 즉, 상속 관계의 클래스에서 상위 클래스는 뼈대를 정하고 하위 클래스는 객체 생성을 결정하는 패턴입니다. 팩토리 패턴은 팩토리 메서드 패턴(Factory Method Pattern)과 추상 팩토리 패턴(Abstract Factory Pattern) 두 가지가 있습니다. 장점 객체 생성 로직이 따로 떨어져 있기 때문에 결합도를 낮출 수 있으며, 유지 보수성이 증가됩니다. 팩토리 패턴은 새로운 Product 추가 시 기존의 코드는 수정하지 않고 새로운 Product만 생성하면 되기 때문에 확장에는 열려있고, 수정에는 닫혀있는 OCP(개방 폐쇄의 원칙)을 따릅니다. 단점 ..
-
싱글톤 패턴(Singleton Pattern)CS이론/디자인패턴 2023. 8. 10. 16:59
싱글톤 패턴이란? 싱글톤 패턴(Singleton Pattern)은 GoF의 생성 패턴 중 하나로 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴입니다. 어떤 클래스가 여러 곳에서 사용될 수도 있지만 오직 하나의 인스턴스만 존재하도록 하는 것이 목적입니다. 보통 데이터베이스 연결 모듈에 많이 사용합니다. 장점 싱글톤 패턴을 통해 인스턴스를 전역적으로 접근할 수 있으며, 리소스를 공유하거나 중복 생성을 방지하여 메모리 절약을 할 수 있습니다. 단점 멀티스레드 환경에서 동기화에 주의하여야 하며, 너무 과도하게 사용하는 것은 다른 클래스의 인스턴스들 간에 결합도를 높일 수 있어 객체 지향적인 설계를 저해할 수 있습니다. 또한 TDD(Test Driven Development)를 할 때 걸림돌이 됩니다. 단위..