본문 바로가기 메뉴 바로가기

덕's 머니스토리

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

덕's 머니스토리

검색하기 폼
  • 분류 전체보기 N
    • 경제·주식 N
    • IT 이야기
      • 그 외
      • 대외활동 소식
      • 컴퓨터 지식
    • 클라우드&오픈스택
      • 클라우드
      • 오픈스택
    • 프로그래밍
      • 자료구조&알고리즘
      • OpenCV
      • RabbitMQ
      • Git&GitHub
      • Web
      • 자바스크립트
      • Spring
      • Java
    • Ruby&Rails
      • Rails
      • Gem
    • OS
      • 리눅스&우분투
      • CentOS
      • 안드로이드
    • 해킹&보안
      • 무선해킹
      • 시스템해킹
  • 방명록

GoF 디자인 패턴 (2)
[Gof 디자인 패턴] Strategy(전략) 패턴

프로그래밍을 하다보면 비슷한 동작이지만 구현 방법(알고리즘)이 다른 경우를 많이 겪습니다. 예를 들어 외부 메일 가져오기 기능을 구현하려고 합니다. 네이버 메일, 다음 메일, 구글 메일 등을 가져온다고 가정하면 메일을 가져온다에서는 동일한 액션이지만 내부 구현을 살펴보면 호출 API 정보, 필요 파라미터 명 등이 조금씩 다를 수 있습니다. 처음에 네이버 메일와 구글 메일 가져오기만 지원한다면 if문 분기를 통해 다르게 처리할 수 도 있겠지만, 나중에 다음 메일과 네이트 메일 등도 추가적으로 지원한다고 하면 분기가 계속 증가할 것 입니다. 이러면 SOLID 설계 원칙의 개방-폐쇄 원칙(OCP)에 위반하는 코드가 생성될 확률이 커집니다. Strategy(전략) 패턴을 사용하면 이와 같이 같은 문제를 다른 방..

프로그래밍/Java 2018. 4. 12. 14:52
[Gof 디자인 패턴] Iterator (반복자) 패턴

Java 언어에서 배열 arr의 모든 요소를 표시하기 위해서는 다음과 같이 for문을 사용합니다. for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } for문의 변수 i를 통해 배열 arr의 요소에 접근할 수 있습니다. Iterator 패턴은 이런 변수 i의 기능을 추상화해서 일반화 한 것 입니다.Iterator 패턴의 구성은 아래와 같습니다.Iterator(반복자)요소를 순서대로 검색해가는 인터페이스(API) 입니다. 다음 요소가 존재하는지를 얻기 위한 hasNext 메서드와 다음 요소를 얻기 위한 next 메서드를 결정합니다.ConcreteIterator(반복자 구현체)Iterator 인터페이스의 구현체 입니다.Aggregate(..

프로그래밍/Java 2018. 3. 2. 18:59
이전 1 다음
이전 다음
최근에 올라온 글
TAG
  • 리눅스
  • 프로그래밍
  • install
  • Rails
  • ruby
  • cloud computing
  • 오픈스택
  • Message Queue
  • 우분투
  • ubuntu
  • 컴퓨터
  • IT
  • 이펙티브 자바
  • 웹프로그래밍
  • vue.js
  • rabbitmq
  • 티스토리 초대장
  • 클라우드 컴퓨팅
  • IceHouse
  • 자료구조
  • javascript
  • Java
  • ruby on rails
  • codecademy
  • html
  • 알고리즘
  • gem
  • OpenStack
  • CSS
  • microsoft
more
글 보관함
Total
Today
Yesterday

Copyright ⓒ 2018 moneystory.blog. All rights reserved.

티스토리툴바