팩토리 메서드 패턴 팩토리 메서드 패턴이란, 객체를 생성하는 부분을 서브 클래스로 분리하여 처리하도록 캡슐화한 패턴을 말한다. 결과적으로, 객체를 만들어내는 공장을 만드는 패턴 Ex. //1. 로봇의 인터페이스와 로봇을 구현하는 구현체를 작성 //Robot public interface Robot { public String name(String name); } //AnimalRobot public class AnimalRobot implements Robot { @Override public String name(String name) { return "Animal"; } } //HumanRobot public class HumanRobot implements Robot { @Override publi..
생성자 대신 정적 팩토리 메서드를 고려하라 클래스 생성자와 별도로 정적 팩토리 메서드를 제공할 수 있다. public static Boolean vlueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 정적 팩토리 메서드가 생성자보다 좋은 장점 다섯가지 이름을 가질 수 있다. 생성자는 반환 시 객체의 특성을 알기 어렵지만, 정적 팩터리는 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. 생성자인 BigInteger(int, int, Random)과 정적 팩토리 메서드인 BigInteger.probablePrime 중 어느 쪽이 '값이 소수인 BigInteger를 반환한다'의 의미를 더 잘 설명하는지는 확실히 확인할 수 있을 것이다. 또한..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
모듈이란 애플리케이션을 구성하는 개별적 요소로서 재사용 가능한 코드 조각을 말함. 모듈은 세부 사항을 캡슐화하고 공개가 필요한 API만을 외부에 노출 모듈은 파일단위로 분리되어 있고, 명시적으로 모듈을 로드하여 재사용 함. 모듈은 개별적으로 존재하다가 애플리케이션의 로드에 의해 애플리케이션의 일원이 됨 모듈의 장점 모듈은 기능별로 분리되어 작성되므로 코드의 단위를 명확히 분리해 애플리케이션을 구성할 수 있으며, 재사용성이 좋아서 개발 효율성과 유지보수성을 높일 수 있음 기존 자바스크립트로는 모듈화 구현 불가 자바 스크립트는 파일마다 독립적으로 파일 스코프를 갖지 않고, 하나의 전역 객체를 공유함. 즉, 자바스크립트 파일을 여러 개의 파일로 분리하여 script 태그로 로드해도 분리된 자바스크립트는 하나의..
콜백함수란, 어떤 이벤트가 발생한 후, 수행될 함수를 의미 소스 예 $("#test").click(function(){ alert("콜백함수를 실행합니다."); }); 해당 이벤트는 비동기로서, test라는 id를 가진 태그를 클릭했을 시 콜백함수가 실행 콜백함수는 익명함수라고도 지칭함. 콜백함수 실행 시점 콜백함수는 원본 함수에 익명함수가 선언 된 후 원본 함수를 선언하는 부분에서 익명함수를 호출하는 시점에서 실행 function test(abc, callback){ console.log("test 함수를 실행"); callback(); } test("abc", function(){ console.log("test 함수에 익명 함수를 실행"); }); [실행결과] test 함수를 실행 test 함수에 ..
- Total
- Today
- Yesterday
- effectivejava
- 팩토리 메소드 패턴
- 생성자
- 이펙티브자바
- 스프링부트
- jdk버전
- 정적팩터리메서드
- java
- try catch finally
- 빈 순환 참조
- Spring
- 빌더 패턴
- JPA
- 자바8
- junit
- @Lazy
- flatMap
- 김영한
- Effective Java
- mustache
- 이펙티브 자바
- 연관관계
- springboot
- package-private
- 인프런
- java8
- 복사 팩토리
- ifPresent
- 점층적 생성 패턴
- try with resources
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |