반응형 PolicyBaseDesign1 [C++] Design Pattern - Policy Base Design [문제점] 아래의 코드에서 List s 가 멀티스래드에 안전하지 않다고 가정한다. 동기화를 위해서 Lock/Unlock의 구현이 필요하다. 그런데 사용자에 따라 List에 내장된 Lock/Unlock을 원치 않을 수도 있다. 불필요한 Lock/Unlock의 경우 성능 저하가 발생할 수도 있기 때문이다. 그러므로 Lock/Unlock은 사용자가 포함시킬 것인지 포함시키지 않을 것인지 선택 할 수 있어야 하겠다. 1. 변하는 것과 변하지 않는 것을 분리한다. * 변하는 것을 가상함수화하는 방법 -> Template Method * 변하는 것을 별도의 클래스로 구현하는 방법 -> Strategy Pattern 2. Strategy pattern을 이용해서 Lock/Unlock을 구현해보자. #include u.. 2020. 12. 5. 이전 1 다음 반응형