| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 조합
- 네트워크
- CKLU
- 현대오토에버 코딩테스트
- 언더라이터
- dp
- Java
- 멀티스레드
- 백준 알고리즘
- backjoon
- Android
- 익명객체
- 다이나믹 프로그래밍
- IT
- 알고리즘
- 너비탐색
- 안드로이드
- dfs
- 모바일
- 데이터베이스
- BFS
- 백준
- 익명클래스
- 개발
- 프로그래머스
- 삼성sw문제
- 재귀함수
- 자바
- 삼성SW테스트
- 금융IT
- Today
- Total
목록전체 글 (237)
Limky 삽질블로그
안녕하세요. Limky 입니다. 이번 시간엔 Strategy 전략 패턴에 이어 탬플릿 콜백 패턴(Template Callback Pattern)을 알아보겠습니다. 탬플릿 콜백 패턴(Template Callback Pattern)은 전략 패턴의 변형으로 DI (Dependency injection) 의존성 주입에서 사용하는 특별한 전략 패턴입니다. 탬플릿 콜백 패턴은 전략 패턴에 익명 내부 클래스를 가미해서 사용하는 방법입니다. 전략 패턴을 혹시 모르시면 아래 글을 참고 하시면 됩니다. 2017/08/28 - [Design_Pattern] - [Design_Pattern] 전략 패턴(Strategy Pattern) 자 바로 예제를 보겠습니다. 원래 기존 전략패턴에서 필요했던 구체클래스들은 StrategyG..
안녕하세요 Limky입니다. 이번 시간은 전략 패턴(Strategy Pattern)에 대해서 알아보겠습니다. 디자인 패턴의 꽃이라고 할 정도로 전략 패턴(Strategy Pattern)은 꼭 기억해야 하는 중요한 패턴입니다. 먼저 전략 패턴(Strategy Pattern)을 구성하는 3가지 요소가 무엇인지 알아야 합니다. 1. 전략 메서드를 가진 전략 객체 2. 전략 객체를 사용하는 컨텍스트(전략 객체의 사용자/소비자) 3. 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트(제3자, 전략 객체의 공급자) 위 도식을 클래스 다이어그램으로 표현하면 다음과 같습니다. 클라이언트는 다향한 전략 중에 현재 상황에 적합한 전략을 생성해 컨텍스트에게 전략 객체를 주입합니다. 즉 Strategy Interface를 구..
안녕하세요 Limky입니다. 이번시간은 팩토리 메서드 패턴(Factory Method Pattern)에 대해서 알아보겠습니다. 팩토리 메서드 패턴(Factory Method Pattern)의 팩토리 메소드는 객체를 생성해서 반환하는 것을 말합니다. 즉 결과 값이 객체인 것입니다. 디자인 테이블과 예제를 보면서 바로 알아보겠습니다. 구체클래스는 인퍼페이스를 implements하지만, 저는 추상클래스로 구현 형식을 강제해보겠습니다. 예제에서는 추상클래스안에 추상메서드를 두었고, 구체클래스가 이를 재정의해서 구현하도록 설계했습니다. 먼저 Pizza라는 추상클래스를 두고 각 구체적인 토마토,페페로니 피자인 구체클래스들은 상속을 받아 각자의 스타일에 맞게 구현합니다. 마찬가지로 Factory 추상클래스를 만들고 ..
안녕하세요. Limky입니다. 지난번 WPF 프로젝트에 응용프로그램을 생성해봤고, 영상처리를 위해 OpenCVSharp 모듈을 세팅한 것까지 했는데요. 오늘은 대망의 영상 처리 응용프로그램에 대해서 포스팅을 해볼까 합니다. 추후에 업데이트한다고했는데, 요새 너무 바쁘고 다른 것들을 공부하고 있어서 빨리 업데이트가 되지 못한 점 죄송합니다.ㅎㅎㅎ 자 간략하게 제가 만든 영상처리 응용프로그램을 소개하겠습니다.준비물이라고 할까요? 이 응용프로그램을 돌리기 위해선 몇 가지 준비가 필요합니다.우선 Kinect v2, Kinect v2 Window용 usb 컨버터, OpenCV모듈 설치, WPF 프로젝트(Visual Studio 2017로 저는 설치함.) 이렇게 준비가 되어야 합니다. 다시 한번 준비물 체크. 1...
안녕하세요. Limky입니다. 이번 시간은 템플릿 메서드 패턴(Template Method Pattern)에 대해서 알아보겠습니다.바로 예제를 보겠습니다. 자동 기어 변속 하는 자동차가 있고, 수동 기어 변속을 하는 자동차가 있다고 칩시다.위와 같이 playWithOwner()메서드는 동일하게 구현되어 있지만, 가운데 자동 기어 변속인지 기어를 수동으로 조작 하는지에 대해서는 서로 다릅니다. 이럴 경우 템플릿 메서드 패턴(Template Method Pattern)을 사용해서 설계하면 됩니다.템플릿 메서드 패턴 디자인 테이블을 먼저 봅시다. 한꺼번에 구체클래스를 구현하지 않고 추상클래스의 템플릿 메서드를 구현해 놓으면, 구체클래스 가 상속받아 자신이 필요한 메서드들을 작성해주는 방식입니다. 자 이제 템플..
안녕하세요. Limky 입니다. 이번 시간에는 데코레이터 패턴(Decorator Pattern)에 대해서 알아보겠습니다. Decorator 는 우리말로 장식자라는 뜻을 가지고 있습니다. 말 그래도 원본에 대해서 무언가를 더 입혀서 새로운 것을 만든다는 뜻입니다. 자 끝났습니다. Decorator는 Proxy패턴하고 똑같습니다. 다만 차이점이 있다면, Proxy 패턴은 반환값을 수정하지 않고 온전하게 반환하지만, Decorator는 반환 값을 조작해서 반환합니다. 바로 Decorator 패턴에 대한 디자인 패턴 테이블을 보겠습니다. 데코레이터 패턴(Decorator Pattern)은 반환 값에 장식을 더한 것을 빼면 프록시 패턴과 동일합니다. 바로 예제를 통해서 알아보겠습니다. Cake.java publi..
안녕하세요. Limky 입니다. 이번 시간은 프록시 패턴(Proxy Pattern)에 대해서 알아보겠습니다. Proxy는 우리말로 대리자, 대변인 이라는 뜻입니다. 대리자, 대변인은 다른 누군가를 대신해서 그 역할을 수행하는 존재입니다. 프로그램에서 봤을 때도 똑같습니다. 프록시에게 어떤 일을 대신 시키는 것입니다. 구체적으로 인터페이스를 사용하고 실행시킬 클래스에 대한 객체가 들어갈 자리에 대리자 객체를 대신 투입해 클라이언트 쪽에서 실제 실행시킬 클래스에 대한객체를 통해 메서드를 호출하고 반환 값을 받는지, 대리자 객체를 통해 메서드를 호출하고 반환 값을 받는지 전혀 모르게 처리하는 것입니다. 일종의 프록시는 비서역할을 하는 것 같네요. 중요한 것은 흐름제어만 할 뿐 결과값을 조작하거나 변경시키면 안..
안녕하세요 Limky입니다. 오늘은 디자인 패턴 중 어댑터 패턴(Adapter Pattern)에 대해서 알아보겠습니다. Adatper 를 우리말로 바꿔보면 변환기 정도로 해석됩니다. 실생활에서 변환기를 우리는 참 많이 사용합니다. 예를 들어 핸드폰 충전기입니다. 핸드폰을 컨센트에다가 직접 접촉시켜 충전하지 않고 충전기라는 어댑터를 통해 핸드폰과 컨센트를 연결하여 핸드폰을 충전합니다. 그렇다면 왜 이런 Adapter를 쓸까요???? 바로 기존에 이미 잘 구축되어 있는 것을 새로운 어떤 것이 사용 할 때 양쪽 간의 호환성을 유지해주기 위함입니다. 자바에서도 직접적으로 메서드를 호출하지 않고 중간에 어댑터를 거쳐서 메서드를 호출하도록 하는 패턴이 바로 어댑터 패턴(Adapter Pattern) 입니다. 아래는..