커링

인자가 여러개 있는 함수를 하나의 인자를 가진 함수의 체인형태로 만들어주는 것.

http://arisu1000.tistory.com/27753

https://bytebucket.org/nephilim/scalastudy/wiki/summary/misc_curry.txt

고계함수 (High Order Fuction)

https://jaeyongcho.gitbooks.io/learnyouahaskell/content/highorderfunction.html

디자인 패턴 잘 정리된 사이트

디자인 패턴

  • 커맨드 패턴 - 함수로 구현하면 분리된 객체를 여러개 만들필요없이 실행함수로서 커맨드를 반환하기만 하면됨
    • def toUpperCase(str : String) : () => String = { () => str.toUpperCase } 
      def transform : () => String = toUpperCase("foo")
      println(transform())
      
  • 전략 패턴 - 함수를 인수로 받는 함수. 일급 함수 자체를 변수에 할당해서 구현
  • 상태 패턴 - 상태에 의존하는 전략 패턴. 패턴매칭을 통해서 간단하게 구현
  • 방문자 패턴 - 다중 디스패치.
  • 템플릿 메소드 패턴 - 기본 값을 포함한 전략 패턴.
  • 이터레이터 패턴 - 시퀀스
  • 메멘토 패턴 - 저장과 복구
  • 관찰자 패턴 - 다른 함수뒤에 호출되는 함수.
  • 인터프리터 패턴 - 트리를 처리하는 함수들.
  • 플라이웨이트 패턴 - 캐쉬.
  • 빌더 패턴 - 선택 인수.
  • 책임 연쇄 패턴 - 함수 합성.
  • 합성 패턴 - 트리
  • 팩토리 메소드 패턴 - 객체 생성 전략.
  • 추상 팩토리 패턴 - 관련 객체 생성 전략.
  • 어댑터 패턴 - 랩퍼, 같은 기능들, 다양한 타입.
  • 데코레이터 패턴 - 랩퍼, 같은 타입, 새로운 기능.
  • 프록시 패턴 - 랩퍼, 함수 합성.
  • 브릿지 패턴 - 추상과 구체의 분리.

results matching ""

    No results matching ""