일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- designPattern
- Singleton
- Abstract Factory
- 싱글톤
- PrototypePattern
- 프로토타입 패턴
- 옵저버 패턴
- Kotlin
- r
- Observer Pattern
- 코틀린
- ㅓ
- El
- 추상팩토리패턴
- Functional Programming
- 팩토리 메소드
- builderPattern
- 디자인패턴 #
- 추상 팩토리
- 빌터패턴
- F
- factory method
- ㅋㅁ
- 디자인패턴
- a
- 함수형프로그래밍
- Design Pattern
- Today
- Total
목록분류 전체보기 (322)
오늘도 더 나은 코드를 작성하였습니까?
정의함수형 프로그래밍(functional programming) 은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. 명령형 프로그래밍에서는 상태를 바꾸는 것을 강조하는 것과는 달리, 함수형 프로그래밍은 함수의 응용을 강조한다. 일단, 함수형 프로그래밍을 살펴보기전에, 명령형 프로그래밍과, 선언형 프로그래밍에 대해서 알아보자! 명령형 프로그래밍- 프로그램이 상태와 상태를 어떻게(HOW TO) 변경시키는 지 명령들을 순서대로 써 놓은 것이다 선언형 프로그래밍- 프로그램이 어떻게 해야 하는지를 나타내기보다 무엇(WHAT)과 같은지를 설명하는 경우에 "선언형"이라고 한다. 예를 들어서 1-10의 정수에서 짝수를 구하는 프로그램을 만든다고 가정해보자! 명..
1. Complier 이란 무엇일까?컴파일러(compiler 해석기, 번역기)는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다. 컴파일러는 고급 프로그래밍 언어(java, kotlin)를 실행 프로그램으로 만들기 위해 저급 프로그래밍 언어(예, 어셈블리 언어, object 코드, machine code)로 바꾸는 데 사용된다. .kt / .java 파일은 각각의 컴파일러에 의해 .class(Bytecode)로 변환이후, .jar로 패키징된다. .class 자바 클래스 파일(Java class file)은 JVM에서 실행 가능한 자바 바이트코드를 포함하는 파일이다. Java 바이트코드는 => JVM(Java Virtual Machine)의 명령어 세트 ..
정의 생성할 객체들의 타입이 prototype(프로토타입)인 인스턴스로부터 결정되도록 하며, 인스턴스는 새 객체를 만들기 위해 자신을 복제(clone)하게 한다. 즉, 객체로 부터 객체를 생성해야 될 경우 사용하면 좋다. 복제하려는 객체의 concrete class에 의존하지 않아도 된다.추상 팩토리 패턴과는 반대로, 클라이언트 응용 프로그램 코드 내에서 객체를 생성하는 것(creator)를 서브클래스(subclass)에서 하지 않는다.새로운 객체는 일반적인 방법(예를 들어, JAVA에서 new를 사용)을 통하여 객체를 생성(create)할때, 고유의 비용이 주어진 응용 프로그램 상황에 있어서 불가피하게 매우 클 때, 이 비용을 감내하지 않을 수 있게 해준다.복제하려는 객체가 private한 속성이 있거..
정의빌더 패턴은 객체 지향 프로그래밍의 다양한 객체 생성 문제에 대한 유연한 솔루션을 제공하기 위해 설계된 디자인 패턴이다.빌더 디자인 패턴의 목적은 "복잡한 객체의 구성과 표현을 분리하는 것"입니다. 구현예를들어, 자동차와 같은 많은 속성을 가지고 있는 객체가 있다고 생각해보자. 그렇다면, 생성을 하는 과정과 사용함에 있어 여러가지 불편함이 생기게 된다. - 해당 객체를 생성하는 곳에서 자동차 클래스의 속성을 다 알고 있어야 한다.- 너무 많은 속성 중에 일부는 기본값을 제공한다면, 많은 생성자가 오버로딩 되어질 수 있다.(kotlin에서는 parms에 기본값을 제공하는 기능을 제공한다) 위의 2개의 문제를 해결하기 위해 그럼 Builder Patter을 사용해보자! 1. Builder Interfa..