Head First Design Pattern이란 책을 소프트웨어 디자인 패턴 수업에서 읽으라고 해서 읽었는데 내용이 좋은 것 같아서 정리해야겠단 생각이 들었다. 내용을 다 적기엔 너무 귀찮으니까 나중에 보면 기억날 정도로만 정리하려고 한다.디자인 패턴을 배워야하는 이
OCP(Open-Closed Principle) SOLID는 이미 배운 개념이지만 정리하지 않았기 때문에 마침 책에서 OCP가 나와서 정리해본다. OCP는 클래스는 확장에는 열려있어야하지만 변경에는 닫혀있어야한다는 원칙이다. 쉽게 말하면 기존 코드의 변경없이 새로운 코
Adapter Pattern Adapter Pattern은 서로 다른 인터페이스를 가진 클래스를 연결시키는 패턴을 말한다. 이런식의 구조를 가진다. 굉장히 간단하다. 서로 다른 두 인터페이스 A와 B가 있을 때 A를 B처럼 쓰고 싶다면 B를 구현하는 C를 만들고 C가
Singleton Pattern 싱글톤 패턴은 하나의 클래스의 대한 객체를 오직 하나만 만들도록 코드로 강제시키고 그 객체(인스턴스)의 대한 전역 접근을 허용하는 패턴이다. 이렇게 만들어진 객체를 다른 클래스가 사용하고 싶다면 해당 클래스에게 요청해 객체를 전달 받고
템플릿 메소드 패턴은 여태 배운 패턴 중 가장 간단한 패턴이었다. 정의를 먼저 살펴보자. 템플릿 메소드는 어떤 알고리즘들의 연속들로 이루어진 것을 묶은 메소드이다. 템플릿 메소드 패턴은 템플릿 메소드에서 사용되는 알고리즘들을 자기 클래스에서 사용하거나 변경이 많은 부분
종종 Finite State Machine이나 Markov Model 이런 것들을 보면 위처럼 상태 전이를 그래프로 표현한 그림을 볼 수 있다. State Pattern은 이러한 상태 전이 그래프를 나중에 상태가 추가되거나 간선이 추가되도 잘 유지보수 할 수 있도록 만