생성 패턴(2) - Factory 패턴
팩토리 패턴 팩토리 패턴은 이름에서 유추할 수 있듯, 공장에서 물건을 생산하듯이 객체를 생산할 수 있도록 하는 패턴이다. 객체의 생산을 전담하는 하나의 클래스를 만듦 다음의 장점이 있다 객체 생성 코드가 분산된 경우 변경사항에 대한 적용이 오래 걸리는 문제를 보완 신규 클래스에 대한 객체 생성 코드를 factory 클래스에만 적용하면 되므로 외부에서 객체 생성에 대한 내용을 몰라도 된다 클래스 간 결합도를 낮출 수 있다 결합도? 결합도는 다음 코드를 통해 알 수 있다 class Mouse { ... } class Keyboard { ... } class Monitor { ... } class Desktop { Mouse mouse = new Mouse(); Keyboard kbd = new Keyboar..
2021.08.18
생성 패턴(1) - singleton
Singleton 패턴이란? 객체가 단 하나만 필요할 때 사용하는 패턴 생성된 객체를 어디에서든지 참조할 수 있어야 한다 ex) 설정파일의 설정값을 읽어 사용할 때 따라서 내부 값 변경이 많이 발생하는 클래스의 경우 singleton이 적합하지 않다 값 변경이 많은데 singleton을 써야 하는 경우가 있을까? 주의사항 thread-safe한 패턴이 아니기 때문에 다음과 같은 문제가 있다 멤버 변수 접근 시 lock 처리 instance 객체 생성 시 동시성 문제 처리 이 경우 생성 시점을 일찍/늦게 둔다든지, lock 처리를 한다든지 여러 방법이 있지만 여기에서는 생략하도록 함 생성 예제 // Header file class Configuration { public: /** * 이 부분은 구현 방식에..
2021.07.14