본문 바로가기
반응형

IT 개인 공부/디자인패턴21

어댑터 패턴(Adapter Pattern) 어댑터 패턴(Adapter Pattern)은 구조(Structural) 패턴 중 하나로써 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해주는 방법이다. ​간단하게 얘기하면 해외여행 갈 때 자주 들고 가는 돼지코 어댑터를 생각하면 쉽다. 우리나라는 220V를 사용하지만 해외여행을 가다 보면 110V를 사용하는 곳도 있을 것이다. 하지만 돼지코 어댑터를 사용한다면 110V를 사용하는 곳에서도 220V를 사용할 수 있다. 이처럼 서로 호환성이 없지만 함께 작동하도록 해주는 것이 어댑터 패턴이다. ​어댑터 패턴의 구조는 다음과 같다. Target : Adapter가 구현하는 인터페이스이며 Client.. 2021. 7. 26.
전략 패턴(Strategy Pattern) 전략 패턴(Strategy Pattern)은 행위(Behavioral) 패턴 중 하나로써 실행 중에 알고리즘을 선택할 수 있게 하는 디자인 패턴이다. 특정한 계열의 알고리즘들을 정의하고 각 알고리즘을 캡슐화하며 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만드는 방법이다. ​간단하게 얘기하면 클라이언트가 수행하는 어떤 행위(알고리즘)를 클래스 별로 캡슐화하여 필요할 때마다 쉽게 행위를 교체할 수 있도록 해주는 방법이다. 별도의 클래스를 통해 클라이언트와 독립적으로 관리하기 때문에 새로운 기능을 추가하거나 수정한다 하여도 클라이언트는 아무런 영향을 받지 않는다. ​전략 패턴의 구조는 다음과 같다. Context(문맥) : Strategy의 인터페이스를 이용하는 역할, 클라이언트는 Context를.. 2021. 7. 26.
싱글톤 패턴(Singleton Pattern) 싱글톤 패턴은 생성(Creational) 패턴 중 하나로써 객체를 오직 하나만 생성하여 생성된 객체를 프로그램 어디에서나 접근하여 사용할 수 있도록 하는 패턴이다. ​간단하게 얘기하면 필요할 때마다 똑같은 객체를 매번 생성하지 말고 기존에 생성한 하나의 객체를 활용하도록 하는 디자인 패턴이다. ​싱글톤 패턴의 구조는 다음과 같다. Singleton : 하나의 객체만 생성하도록 보장해주며 getInstance() 메서드를 통해서만 다른 클래스에서 객체에 접근할 수 있도록 해주는 클래스 간단한 예시를 통해 싱글톤 패턴을 이해해 보자. ​회사에서 직원들이 모두 사용하는 정수기가 있다고 하자. 정수기의 이름을 간단하게 A라고 하겠다. 정수기를 사용할 때마다 정수기의 물의 양을 1만큼 감소한다고 하자. 이를 코드.. 2021. 7. 21.
반응형