본문 바로가기

디자인패턴

[디자인패턴] Strategy Pattern [디자인패턴]Strategy Pattern [디자인패턴] Strategy PatternStrategy Pattern은 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있또록 만든다. Strategy Pattern을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. 개를 표현하는 클래스를 만들고자 한다. 개는 여러 종류가 있기 때문에 슈퍼 클래스 Dog를 상속받아 여러 종류의 개를 표현할 계획이다. UML을 그리면 다음과 같다. 이렇게 하면 Dog을 상속받아 다양한 개를 표현할 수 있을 것이다. 하지만 개발을 진행하다가 장단감 강아지가 필요해 추가하게 되었다. 장난감 강아지는 소리는 낼 수 있지만 움직이는 기능이 없다. 슈퍼 클래스 Dog의 Bark와 Run과 다..
[디자인패턴] Observer Pattern [디자인패턴]Observer Pattern [디자인패턴] Observer Pattern디자인 패턴은 공부할 수록 흥미롭다. 이전 프로젝트 개발을 할 때 찝찝했던 부분이 있었는데 그런 부분을 해결할 방법을 알 수 있어서 재미있다. 디자인 패턴에 대한 이해가 왜 필요한지 알고 공부를 하니 더 이해가 잘 된다. 이번에 공부한 옵져버 패턴은 특히 그렇다. 작년에 개발했던 장비 테스터 프로그램이 생각난다. PC가 장비에 연결된 시리얼 포트로 장비의 정보를 수신받아 화면에 출력하는 기능이 있었다. 내가 구현했던 방식은 데이터가 업데이트 되는 부분에서 화면 갱신을 하는 것이었다. 쓰레드를 돌려서 현재 들어온 값이 이전 값과 다르면 화면을 갱신하여 표시했다.private void UpdateLine1Data(){ wh..