Gof Design Pattern
-
[GoF] 프로토타입 패턴, Prototype patternGof Design Pattern 2021. 9. 3. 15:20
프로토타입 패턴, Prototype pattern 프로토타입 패턴이란? 생성할 객체들의 타입이 프로토타입인 인스턴스로부터 결정되도록 하며, 인스턴스는 새 객체를 만들기 위해 자신을 복제하는 패턴을 말한다. 프로토타입 패턴 왜 사용할까? 정의한 클래스의 인스턴스 생성과정이 복잡하거나 여러 조합에 의해 생성이 되어야하는 경우가 있습니다. 예를 들어, 객체를 생성해서 DB로부터 데이터를 가져와야하는 경우가 있습니다. 그렇다면 매번 객체를 생성할때마다 DB 트랜잭션이 발생하게 되는데 이는 꽤나 많은 비용을 소모하는 행위입니다. 이 때 하나의 프로토타입을 만들어 초기화해두고 이를 복제해서 사용 및 수정하면 비용을 많이 아낄 수 있습니다. 프로토타입 패턴 을 사용하게 되면 프로토타입 속성값을 활용한 객체 생성을 할..
-
[GoF] 싱글톤 패턴, Singleton patternGof Design Pattern 2021. 9. 2. 14:30
싱글톤 패턴, Singleton pattern 싱글톤 패턴이란? 싱글톤 패턴은 객체가 오직 1개만 생성되야 하는 경우에 사용되는 패턴입니다. 싱글톤은 클래스의 인스턴스는 오직 하나임을 보장하며 이 인스턴스에 접근할 수 있는 방법을 제공합니다. 싱글톤 왜 사용할까? 예를들어, JDBC의 커넥션을 관리하는 커넥션 풀은 객체가 여러 개 생성되면 설정 값이 변경될 위험이 생길 수 있습니다! 클래스에서 만들 수 있는 객체를 오직 하나로 만들어서 이에 대한 접근을 하나로 통일하여 제공한다. 자바에서는 CPP와 달리 전역 변수가 존재하지 않으므로 객체가 하나만 존재하도록 설계하고 접근 메서드를 제공한다. 싱글톤을 사용하게 되면 유일하게 존재하는 객체로의 접근을 통제 할 수 있다. 전역 변수를 사용함으로써 발생되는 문..